实现限制:'FILE READONLY'不能直接访问远程包变量或游标
Implementation restriction:'FILE READONLY' Can not directly access remote package variable or cursor
我正在尝试使用 form 6i
将 pdf 文件插入到 oracle 数据库中。这是我写的代码。
DECLARE
l_blob BLOB;
l_bfile BFILE := BFILENAME ('D:\pdf\', 'a.pdf');
begin
insert into demo values (1, EMPTY_BLOB())
returning theblob into l_blob;
dbms_lob.fileopen (l_bfile)
dbms_lob.loadfromfile (l_blob, l_bfile, dbms_lob.getlength (l_bfile));
dbms_lob.fileclose (l_bfile);
END;
当我在 Toad 9.0.1.8
中执行这些代码时,它们运行良好。在 oracle form 6i
中使用它时显示错误,
Implementation restriction:'FILE READONLY' Can not directly access remote package variable or cursor
终于解决了这个问题,但不是通过 forms 6i。在后端创建一个 procedure
并在 forms 6i
中调用它。就是这样!这是将我的 pdf 文件保存到 BLOB 列的过程.....
create or replace procedure save_blob
as
l_blob BLOB;
l_bfile BFILE := BFILENAME ('MY_PDF', 'a.pdf');
begin
insert into demo values (4, EMPTY_BLOB())
returning theblob into l_blob;
dbms_lob.fileopen (l_bfile);
dbms_lob.loadfromfile (l_blob, l_bfile, dbms_lob.getlength (l_bfile));
dbms_lob.fileclose (l_bfile);
COMMIT;
end;
'MY_PDF '是命令创建的目录
CREATE OR REPLACE DIRECTORY my_pdf AS 'D:\pdf\';
我正在尝试使用 form 6i
将 pdf 文件插入到 oracle 数据库中。这是我写的代码。
DECLARE
l_blob BLOB;
l_bfile BFILE := BFILENAME ('D:\pdf\', 'a.pdf');
begin
insert into demo values (1, EMPTY_BLOB())
returning theblob into l_blob;
dbms_lob.fileopen (l_bfile)
dbms_lob.loadfromfile (l_blob, l_bfile, dbms_lob.getlength (l_bfile));
dbms_lob.fileclose (l_bfile);
END;
当我在 Toad 9.0.1.8
中执行这些代码时,它们运行良好。在 oracle form 6i
中使用它时显示错误,
Implementation restriction:'FILE READONLY' Can not directly access remote package variable or cursor
终于解决了这个问题,但不是通过 forms 6i。在后端创建一个 procedure
并在 forms 6i
中调用它。就是这样!这是将我的 pdf 文件保存到 BLOB 列的过程.....
create or replace procedure save_blob
as
l_blob BLOB;
l_bfile BFILE := BFILENAME ('MY_PDF', 'a.pdf');
begin
insert into demo values (4, EMPTY_BLOB())
returning theblob into l_blob;
dbms_lob.fileopen (l_bfile);
dbms_lob.loadfromfile (l_blob, l_bfile, dbms_lob.getlength (l_bfile));
dbms_lob.fileclose (l_bfile);
COMMIT;
end;
'MY_PDF '是命令创建的目录
CREATE OR REPLACE DIRECTORY my_pdf AS 'D:\pdf\';