建一张表,用它来存储XML文档.
1、建表:
create table TEST_XMLTYPE
(
VAR XMLTYPE
);
2、建目录:
create or replace directory MYFILE
as 'g:\file';
且保证g:\file下面有一个simple.xml文件。
3、创建存储过程
create or replace procedure prc_test_xmltype(p_path varchar2,p_file varchar2)
is
v_file bfile;
v_xml xmltype;
v_clob clob;
begin
v_clob:=empty_clob();
v_file:=bfilename(p_path,p_file);
dbms_lob.fileopen(v_file,dbms_lob.file_readonly);
dbms_lob.loadfromfile(v_clob,v_file,dbms_lob.getlength(v_file));
dbms_lob.fileclose(v_file);
v_xml:=xmltype.createXML(v_clob);
insert into test_xmltype(var) values(v_xml);
commit;
end prc_test_xmltype;
4、存储过程运行没有问题,但当我执行时,却报错了。
SQL> exec prc_test_xmltype;
begin prc_test_xmltype; end;
ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'PRC_TEST_XMLTYPE' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
请问是什么原因,帮忙解决一下。谢谢。