+ -
当前位置:首页 → 问答吧 → XMLType不能insert, For security reasons, ftp and http access over XDB repository i

XMLType不能insert, For security reasons, ftp and http access over XDB repository i

时间:2008-12-04

来源:互联网

为了学习xml在数据库中的存储,刚装的Oracle11g,就碰到问题,请高手不吝赐教

create or replace directory xmldir as '/u01/app/oracle/admin/db01/sql';

create table invoiceXML_tbl of XMLtype;

Insert into invoicexml_tbl values 
(XMLType(bfilename('XMLDIR', 'invoicexml.txt'),
 nls_charset_id('AL32UTF8')));
执行插入的时候总是报这个错:
ORA-31020: For security reasons, ftp and http access over XDB repository is not allowed on server side
ORA-06512: in "SYS.XMLTYPE"

但是insert into invoicexml_tbl values (sys.XMLTYPE.createXML('<PurchaseOrder>n>28</PurchaseOrder>'));又可以插入。

作者: crossmk   发布时间: 2008-12-04

引用楼主 crossmk 的帖子:
为了学习xml在数据库中的存储,刚装的Oracle11g,就碰到问题,请高手不吝赐教

create or replace directory xmldir as '/u01/app/oracle/admin/db01/sql';

create table invoiceXML_tbl of XMLtype;

Insert into invoicexml_tbl values
(XMLType(bfilename('XMLDIR', 'invoicexml.txt'),
nls_charset_id('AL32UTF8')));
执行插入的时候总是报这个错:
ORA-31020:  For security reasons, ftp and http access over X…


系统已经报了, 是安全性上的问题, 改下设置就行
后一句是普通的插入, 当然没有问题
前一句不能插入, 因为它是文件形式的, 需要ftp和http的访问权限, 而你在server端没有允许这个


作者: lpc19598188   发布时间: 2008-12-05

谢谢楼上的回复,请问怎么修改Server端的权限?

作者: crossmk   发布时间: 2008-12-05

grant read, write on dictionary xmldir to userXXX; 
这个做了没?

还有, 你是什么操作系统, 把'/u01/app/oracle/admin/db01/sql' 权限改成777试下?

作者: lpc19598188   发布时间: 2008-12-05

>
引用 3 楼 lpc19598188 的回复:
>grant read, write on dictionary xmldir to userXXX;
>这个做了没?

这个做了,没做之前报的是另外一个错

>还有, 你是什么操作系统, 把'/u01/app/oracle/admin/db01/sql' 权限改成777试下?
>


OS:WINDOWS,路径我改成本地的'D:\oracle\xmlfld' 

没权限读文件或文件不存在报的错不一样。

再次谢谢你的回复。

作者: crossmk   发布时间: 2008-12-05

'invoicexml.txt'这个文件是放置在那的?

作者: starlijiang   发布时间: 2011-11-30