Выбрать главу

dest_lob

src_bfile

amount

dest_offset

src_offset

);

где

IN OUT NOCOPY CLOB/NCLOB CHARACTER SET ANY_CS,

IN BFILE,

IN INTEGER,

IN INTEGER := 1,

IN INTEGER := 1

■ dest_lob это LOB, в который требуется записывать данные;

■ src_bfile является указателем на файл, из которого читаются данные;

■ amount является максимальным числом байтов или символов, которые

нужно прочитать из src_bf lie ;

■ dest_of fset является смещением в байтах или символах в de st_lob , с

которого нужно начать запись данных (смещение начинается с 1);

■ src_offset является смещением в src_bfile, с которого нужно начать

чтение данных (смещение начинается с 1).

В следующей таблице перечислены исключения, создаваемые

L0ADFR0MFILEO.

Исключение Создаётся в случае

VALUE_ERROR Любые из входных параметров равны NULL или неправильные.

INVALID_ARGVAL Любое из условий:

■ src_offset < 1

■ dest_offset < 1

■ src_offset > LOBMAXSIZE

■ dest_offset > LOBMAXSIZE

■ amount < 1

■ amount > LOBMAXSIZE

L0ADBL0BFR0MFILE()

Метод L0ADBL0BFR0MFILE() загружает данные, получаемые через BFILE, в

BLOB. L0ADBL0BFR0MFILE() обладает лучшей производительностью по сравнению

с методом L0ADFR0MFILE() при использовании BLOB.

□ DBMS_L0B.L0ADBL0BFR0MFILE(

dest_blob IN OUT NOCOPY BLOB,

src_bfile IN BFILE,

514 Глава 14

amount IN INTEGER,

dest_offset IN OUT INTEGER := 1,

src_offset IN OUT INTEGER := 1

);

где

■ dest_blob это BLOB, в который будут записаны данные;

■ src_bfile является указателем на файл, из которого читаются данные;

■ amount является максимальным числом байтов, которые нужно прочитать

из src_bfile;

■ dest_of fset является смещением в байтах в dest_lob, начиная с которого

должны записываться данные (смещение начинается с 1);

■ src_offset является смещением в байтах в src_bfile, начиная с которого

должны читаться данные (смещение начинается с 1).

В следующей таблице перечислены исключения, создаваемые

L0ADBL0BFR0MFILEC).

Исключение Создаётся в случае

VALUE_ERROR Любые из входных параметров равны NULL или неправильные.

INVALID_ARGVAL Любое из условий:

■ src_offset < 1

■ dest_offset < 1

■ src_offset > LOBMAXSIZE

■ dest_offset > LOBMAXSIZE

■ amount < 1

■ amount > LOBMAXSIZE

LOADCLOBFROMFILE0

Метод L0ADCL0BFR0MFILEO загружает данные, полученные через BFILE, в

CLOB/NCLOB. LOADCLOBFROMFILE() обладает лучшей производительностью по

сравнению с методом L0ADFR0MFILE() при использовании CLOB/NCLOB. Метод

LOADCLOBFROMFILE() также автоматически конвертирует двоичные данные

в символьные данные.

□ DBMS_L0B.LOADCLOBFROMFILE(

dest_clob IN OUT NOCOPY CLOB/NCLOB

src_bfile IN BFILE,

amount IN INTEGER,

dest_offset IN OUT INTEGER,

src_offset IN OUT INTEGER,

src_csid IN NUMBER,

lang_context IN OUT INTEGER,

warning

у

OUT INTEGER

} i

где

■ dest_blob - это CLOB/NCLOB в который необходимо записать данные;

Большие объекты 515

* src_bfile является указателем на файл, из которого необходимо прочитать

данные;

® amount является максимальным числом символов, которые нужно

прочитать из src_bf ile ;

■ dest_offset является смещением в символах в d estjob, начиная с которого

требуется записывать данные (смещение начинается с 1);

■ src_offset является смещением в символах в src_bf ile , начиная с которого

необходимо читать данные (смещение начинается с 1);

■ src_csid является набором символов для src_bfile (обычно вам потребуется

использовать DBMS_L0B . DEFAULT_CSID, который является набором

символов базы данных по умолчанию);

■ lang_context является языковым контекстом, который необходимо

использовать для загрузки (обычно вам потребуется использовать

DBMS_L0B. DEFAULT_LANG_CTX, который является языковым контекстом

базы данных по умолчанию);

■ warning является сообщением, которое содержит информацию о

проблемах, возникших в процессе загрузки. Общая проблема заключается

в том, что символ из src_bf i le не может быть конвертирован в

символ в d e stjob (в этом случае warning устанавливается в DBMSJ0B

WARN JNCONVERTIBLE_CHAR).

Примечание Вы можете узнать всё о наборах символов, контекстах и преобразовании символов

из одного языка в другой в руководстве Oracle Database Globalization Support Guide (Руководство

по поддержке глобализации баз данных Oracle), публикуемом корпорацией Oracle.

В следующей таблице перечислены исключения, создаваемые

LOADCLOB FROMFI LE().

Исключение Создаётся в случае

VALUE_ERROR Любые из входных параметров равны NULL или неправильные.

INVALID_ARGVAL Любое из условий:

■ src_offset < 1

■ dest_offset < 1

■ src_offset > LOBMAXSIZE

■ dest_offset > LOBMAXSIZE

■ amount < 1

■ amount > LOBMAXSIZE

0PEN()

Метод OPEN С) открывает L0B. Есть три версии 0PEN():

□ DBMSJOB. OPEN(

lob IN OUT NOCOPY BLOB,

open_mode IN BINARYJNTEGER

516 Глава 14

DBMS_LOB.OPEN(