我正在尝试使用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
中使用这个时,它显示错误,
实现限制:'FILE READONLY'不能直接访问远程包变量或游标
终于摆脱了这个问题,但不是由表单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';