Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 loadfromfile - ORA 22275  [new]
I_V_C
Member

Откуда:
Сообщений: 3
Добрый день. Осваиваю Oracle. Заблудился в трех соснах. Код

create or replace directory RPT as 'D:\oracle\RPT';

declare
src_file BFILE:= bfilename('RPT', 'test.txt');
dst_file BLOB;
lgh_file BINARY_INTEGER;
BEGIN
dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
lgh_file := dbms_lob.getlength(src_file);
dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
dbms_lob.fileclose(src_file);
END;

Получаю ошибку на строке
dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
ORA 22275 ошибка числа или значения.

Что я делаю не так?
20 июн 11, 13:01    [10839831]     Ответить | Цитировать Сообщить модератору
 Re: loadfromfile - ORA 22275  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
I_V_C,

а если

src_file BFILE:= bfilename('RPT', 'test.txt');

вынести после begin?
20 июн 11, 13:23    [10840008]     Ответить | Цитировать Сообщить модератору
 Re: loadfromfile - ORA 22275  [new]
I_V_C
Member

Откуда:
Сообщений: 3
CREATE OR REPLACE PROCEDURE load_file
IS
src_file BFILE;
dst_file BLOB;
lgh_file BINARY_INTEGER;
BEGIN
src_file:= bfilename('RPT', 'test.txt');
dst_file:=EMPTY_BLOB(); -------------------------- добавил строку
dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
lgh_file := dbms_lob.getlength(src_file);
dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
dbms_lob.fileclose(src_file);
END load_file;

При переносе ошибка не изменилась
А при добавлении строки
dst_file:=EMPTY_BLOB();
поменялась на ORA 22275 неверно задан указатель LOB
20 июн 11, 16:32    [10841633]     Ответить | Цитировать Сообщить модератору
 Re: loadfromfile - ORA 22275  [new]
I_V_C
Member

Откуда:
Сообщений: 3
Нашел ошибку необходимо добавить строку создающую временную переменную BLOB
dbms_lob.CREATETEMPORARY(dst_file,true);
вместо
0dst_file:=EMPTY_BLOB();
20 июн 11, 16:50    [10841763]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить