Тип данных Oracle для текстового файла? - PullRequest
5 голосов
/ 21 декабря 2010

Мне нужно создать таблицу в Oracle, которая будет хранить серию больших текстовых файлов. После просмотра типов данных Oracle неясно, какой тип я должен использовать для хранения файлов.

Ограничения для типов текста, таких как VARCHAR2, кажутся очень маленькими (32 КБ). Другие типы не подходят для текстового файла (например, BFILE).

У кого-нибудь есть мнение по поводу правильного типа для использования?

Ответы [ 3 ]

9 голосов
/ 21 декабря 2010

Разница между CLOB и BLOB / BFILE заключается в том, что CLOB обрабатываются как текст.То есть, если вы извлечете CLOB из базы данных, он выполнит любое преобразование, необходимое из набора символов базы данных в набор символов клиента (например, удалив ударение из ê).Точно так же, когда CLOB создается клиентом, может быть преобразование из набора символов клиента в набор символов базы данных.Если наборы символов и клиента, и базы данных совпадают, преобразование не требуется или не выполняется.

NCLOB похож на CLOB, за исключением того, что вместо набора символов базы данных преобразование использует набор символов NLS NCHAR.1004 * BLOB / BFILE не подпадает под правила конвертации.

Так что В общем случае я бы использовал CLOB для текста, но если есть некоторая логика контрольной суммы / контрольного журнала, где я не хочу даже малейшей возможности преобразования набора символов, я могу выбрать BLOB / BFILE,Я бы не стал рассматривать ДОЛГО или БОЛЬШОЕ СЫРЬЕ.

1 голос
/ 21 декабря 2010

Типы данных LOB для символьных данных: CLOB и NCLOB.Они могут хранить до 8 терабайт символьных данных (CLOB) или данных национальных наборов символов (NCLOB).

Позже Oracle рекомендует преобразовать существующие столбцы LONG RAW в столбцы больших объектов.Столбцы больших объектов имеют гораздо меньше ограничений, чем столбцы LONG.Кроме того, функциональность LOB улучшается в каждом выпуске, тогда как функциональность LONG RAW была статической в ​​течение нескольких выпусков.

1 голос
/ 21 декабря 2010

Зависит от того, какую версию Oracle вы используете: либо CLOB, либо Long

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...