oracle10导出编程,从oracle10中导出xml文件

create or replace procedure table2xml is

cursor person_cur is select * from human;

person_data human%rowtype;

doc xmldom.DOMDocument;

main_node xmldom.DOMNode;

root_node xmldom.DOMNode;

item_node xmldom.DOMNode;

person_node xmldom.DOMNode;

root_elem xmldom.DOMElement;

item_elem xmldom.DOMElement;

item_text xmldom.DOMText;

begin

open person_cur;

doc := xmldom.newDOMDocument;--创建文档对象

main_node := xmldom.makeNode(doc);--读取文档节点

root_elem := xmldom.createElement(doc,'human'); --添加一个元素(节点)

root_node := xmldom.appendChild(main_node,xmldom.makeNode(root_elem));

loop

fetch person_cur into person_data;

exit when person_cur%notfound;

item_elem := xmldom.createElement(doc,'humanID'); --添加 peopleNo 元素

-- xmldom.setAttribute(item_elem,'humanID',person_data.humanid);--添加peopleNo 属性

person_node:= xmldom.appendChild(root_node,xmldom.makeNode(item_elem));--添加为文档的子节点

item_elem :=xmldom.createElement(doc,'humanName');

item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));

item_text :=xmldom.createTextNode(doc,person_data.humanName); --设置元素的值

item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text)); --把该值加入该节点中

item_elem :=xmldom.createElement(doc,'humanPassword');

item_node :=xmldom.appendChild(person_node,xmldom.makeNode(item_elem));

item_text :=xmldom.createTextNode(doc,person_data.humanPassword); --设置元素的值

item_node :=xmldom.appendChild(item_node,xmldom.makeNode(item_text)); --把该值加入该节点中

end loop;

xmldom.writeToFile(doc,'D:\xml\test.xml','UTF-8');

xmldom.freeDocument(doc);

close person_cur;

end;

执行后,在oracle10中执行 xmlDom.writeToFile时报

ora-29280 ora-06512 SYS.UTL_FILE 路径错误.

解决方式如下:

1、创建你打算输出文件的目录(mkdir xml),如:D:\xml

2、用文本编辑器打开x:\oracle\product\10.2.0\db_2\database\inittest.ora文件;

3、在后面追加如下行:

*.utl_file_dir='D:\xml'

4、重新启动数据库;

5、在sqlplus中用下面的命令检查是否生效

SQL>  show parameter utl_file_dir;

NAME                                 TYPE        VALUE

------------------------------------ ----------- --------------

utl_file_dir                         string      D:\xml

如果utl_file_dir 参数的value不是你设置的目录或为空(缺省为空),则说明你的设置未生效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值