【问题标题】:Query XMLELEMENT result is oracle/xdb/XMLType查询 XMLELEMENT 结果为 oracle/xdb/XMLType
【发布时间】:2016-06-29 15:26:29
【问题描述】:

我必须从一个表中创建一个 XML(并将 XML 内容插入到这个表中,但我会一步一步地做......)经过一番谷歌搜索后,我发现了这个: http://allthingsoracle.com/generating-xml-from-sql-and-pl-sql-part-1/

所以我尝试了第一部分:

SELECT XMLElement( "NAME"
                 , NAME
                 )   FROM EMP;

但不是得到这样的东西:

<NAME>bla</NAME>      
<NAME>muh</NAME>

我只得到:

oracle/xdb/XMLType

结果。 在我可以使用 XMLElement 之前我需要做些什么吗?(​​我是 PL/SQL 的新手,这很令人困惑)

我在 Ubuntu 14.04(我猜是)机器上使用 4.1.2.20 版本的 SQL-Developer。

【问题讨论】:

    标签: xml oracle jdbc oracle-sqldeveloper


    【解决方案1】:

    “普通”Oracle JDBC 驱动程序 (ojdbc.jar) 不支持 XML(既不支持标准 JDBC XML API,也不支持 Oracle 的内部 XML API)。

    要启用 XML 支持,您需要包含 jar 文件 xdb6.jarxmlparserv2.jar

    xdb6.jar 可以从与 Oracle JDBC 驱动程序相同的页面下载。 xmlparserv2.jar 似乎只能作为 Oracle 服务器安装的一部分使用,但我可能错了。

    编辑

    似乎在 SQL Developer 中您需要做的就是启用 XML 的显示:


    另一种选择是将 XML 作为 CLOB 简单地返回给客户端:

    SELECT XMLElement("NAME", NAME).getClobVal()
    FROM emp;
    

    这不需要任何额外的库

    【讨论】:

    • @ruudvan:不知道。正如我所说:我不使用 SQL Developer。我只是在快速浏览后发现了该选项。
    • 谢谢,您的第二个选项有效(以 CLOB 形式返回)。我没有时间测试剩下的今天,但我明天会试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2015-12-02
    相关资源
    最近更新 更多