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(