实现限制:"文件只读" 不能直接访问远程包变量或游标



我正在尝试使用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';

最新更新