Каков эквивалент varchar (макс.) в Oracle?

Просто добавьте эти две строки кода в свой класс WebApiConfig

public static class WebApiConfig
{
     public static void Register(HttpConfiguration config)
     {
          //add this two line 
          config.Formatters.Clear();
          config.Formatters.Add(new JsonMediaTypeFormatter());


          ............................
      }
}
40
задан YourMomzThaBomb 6 January 2009 в 08:58
поделиться

5 ответов

Varchars ограничены 4 000 символов в Oracle. Кроме этого, необходимо использовать ДЛИННОЕ или CLOB. Предпочтите CLOBs. LONGs являются более старым эквивалентом.

От эта документация Oracle :

СВЕЧИ по сравнению с Длинными и ДЛИННЫМИ СЫРЫМИ ДАННЫМИ

СВЕЧИ отличаются от более старых ДЛИННЫХ и ДЛИННЫХ НЕОБРАБОТАННЫХ типов данных во многих отношениях.

  • максимальный размер LOB составляет 4 гигабайта по сравнению с 2 гигабайтами для длинных и ДЛИННЫХ СЫРЫХ ДАННЫХ.
  • можно использовать методы случайного, а также последовательного доступа на СВЕЧАХ; можно только использовать с последовательным доступом методы на ДЛИННЫХ и ДЛИННЫХ СЫРЫХ ДАННЫХ.
  • СВЕЧИ (кроме NCLOBs) могут быть атрибутами типа объекта, который Вы определяете.
  • Таблицы могут иметь несколько столбцов LOB, но могут иметь только один столбец LONG или LONG RAW.

Миграция существующих ДЛИННЫХ и ДЛИННЫХ атрибутов Сырых данных к СВЕЧАМ рекомендуется Oracle. Oracle планирует закончить поддержку ДЛИННЫХ и ДЛИННЫХ СЫРЫХ ДАННЫХ в будущих выпусках. См. Миграцию Oracle8 для получения дополнительной информации о миграции.

32
ответ дан cletus 23 September 2019 в 16:57
поделиться

Насколько я понимаю, VARCHAR (МАКС), тип данных является особенным методом SQL Server 2005 года определения текстового поля, которое может или быть небольшим (до 8 000 символов в SQL Server) или большой (до 2 ГБ в SQL Server). База данных обрабатывает изменение в устройстве хранения данных негласно , когда содержание растет от маленького диапазона до большого спектра.

в Oracle нет никакого эквивалента.

Вы у любого есть небольшой бит текста в VARCHAR2 - который составляет до 32 767 байтов в pl/sql и до 4 000 байтов в SQL (т.е. в определении таблицы) - или у Вас есть потенциально очень большой бит текста в CLOB (который является специализированным BLOB).

11
ответ дан Nick Pierpoint 23 September 2019 в 16:57
поделиться

AFAIK, нет никакого эквивалента. Самым близким Вы входите в Oracle, является CLOB, который имеет те же ограничения, которые ТЕКСТ имел в SQL Server назад в 'плохие былые времена'.

0
ответ дан Dave Markle 23 September 2019 в 16:57
поделиться

В МН / SQL, VARCHAR2 может составить до 32 767 байтов. Для SQL предел составляет 4 000 байтов (который может быть меньше чем 4 000 символов, если Вы используете многобайтовый набор символов).

4
ответ дан Gary Myers 23 September 2019 в 16:57
поделиться

Подход, который я использовал в прошлом (MS SQL, до Varchar (max)):

Поместите два столбца в таблице один маленький Варчар (например, 255) и другой Текст. Затем создайте свое приложение так, чтобы оно использовало столбец Varchar для небольших данных, оставив значение Text равным нулю. Если данные больше, чем Varchar, оставьте это значение null и сохраните его в Text. Таким образом, небольшие данные не занимают отдельную страницу на сервере. Компромисс здесь заключается в том, что все приложения, использующие данные, должны согласиться с этой схемой и иметь логику для ее учета. Но он работает хорошо.

Я полагаю, то же самое верно и в Oracle, просто замените Varchar2 на Varchar и CLOB для текста.

0
ответ дан 27 November 2019 в 01:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: