查询XMLELEMENT结果是oracle / xdb / XMLType

时间:2016-03-14 14:23:41

标签: xml oracle jdbc oracle-sqldeveloper

我必须从表中创建一个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。

1 个答案:

答案 0 :(得分:2)

&#34;普通&#34; 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的显示:

enter image description here

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

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

这不需要任何额外的库