以xml格式导出sql语句的结果

时间:2013-11-22 19:36:01

标签: xml oracle

我需要以xml格式导出结果,下面是代码:

DECLARE
      XmlFic  Utl_File.File_Type;
      XmlData CLOB;
      Fin     BOOLEAN := TRUE;
    BEGIN
       XmlData := DBMS_XMLQuery.GetXML ('SELECT * FROM employees');
       XmlFic := Utl_File.FOpen ('C:\TMP\XML', 'TEST.xml', 'W');
       WHILE FIN LOOP
          Utl_File.Put (XmlFic, SUBSTR (XmlData, 1, 32767));
          IF LENGTH (XmlData) > 32767 THEN
             XmlData :=  SUBSTR (XmlData, 32768);
          ELSE
             FIN := FALSE;
          END IF;
       END LOOP;
       Utl_File.FClose (XmlFic);
    EXCEPTION
       WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE (SUBSTR (SQLERRM,1,255));
          Utl_File.FClose (XmlFic);
    END;

我收到以下错误:

  

ORA-06550:第2行第11栏:   PLS-00201:标识符'UTL_FILE'必须被声明   PLS-00201:标识符'DBMS_XMLQUERY.GETXML'必须声明

有谁知道我做错了什么? 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

如果使用SYS.DBMS_XMLQUERY而不是仅使用DBMS_XMLQUERY,它会起作用吗?如果有效,则不会创建同义词(甚至删除原始内容)。

来源:https://forums.oracle.com/thread/2237396