实现限制:'FILE READONLY' 不能直接访问远程包变量或游标
Posted
技术标签:
【中文标题】实现限制:\'FILE READONLY\' 不能直接访问远程包变量或游标【英文标题】:Implementation restriction:'FILE READONLY' Can not directly access remote package variable or cursor实现限制:'FILE READONLY' 不能直接访问远程包变量或游标 【发布时间】:2015-05-19 05:14:21 【问题描述】:我正在尝试使用 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' 不能直接访问远程包变量或游标
【问题讨论】:
【参考方案1】:终于摆脱了这个问题,但不是通过表格 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\';
【讨论】:
以上是关于实现限制:'FILE READONLY' 不能直接访问远程包变量或游标的主要内容,如果未能解决你的问题,请参考以下文章
HTML笔记--- form表单;实现用户注册表单;下拉列表支持多选;file控件;readonly与disabled;maxlength
Change file readonly property File.SetAttribute and new FileInfo readonly property
Change file readonly property File.SetAttribute and new FileInfo readonly property