将列数据转换为xml格式;查询失败,因为当前不支持所有列类型
Posted
技术标签:
【中文标题】将列数据转换为xml格式;查询失败,因为当前不支持所有列类型【英文标题】:convert column data to xml format; query fails because all columns types are currently not supported 【发布时间】:2012-07-09 11:11:06 【问题描述】:我正在尝试将列数据转换为 xml 格式,但收到以下错误消息:
查询失败,因为当前不支持所有列类型。
CREATE TABLE EMP(NAME VARCHAR2(10 BYTE))
INSERT INTO EMP VALUES ('C');
INSERT INTO EMP VALUES ('A');
INSERT INTO EMP VALUES ('T');
SELECT xmlelement("NAME",NAME) FROM EMP;
我正在使用:
Oracle 数据库 10g 企业版版本 10.2.0.4.0 - 64bi
PL/SQL 版本 10.2.0.4.0 - 生产
SQLTools 1.5.0 Beta build 9 作为编辑器
为什么会出现这个错误???解决办法是什么?
【问题讨论】:
【参考方案1】:我找到了答案:
select dbms_xmlquery.getxml('select * from EMP') from dual;
【讨论】:
【参考方案2】:这更像是一种解决方法,而不是解决方案。
我遇到了和 sam 一样的问题 - 也在运行 SELECT xmlelement
语句,同样使用 SQLTools。一个区别是我运行的是 Oracle DB 版本 11.2.0.2.0。
我发现如果我在SQLPlus中运行语句,它能够显示结果。
SQL> SELECT XMLELEMENT("name",ename) FROM scott.emp WHERE ROWNUM < 3;
XMLELEMENT("NAME",ENAME)
--------------------------------------------------------------------------------
<name>SMITH</name>
<name>ALLEN</name>
如果我在 SQL Developer 中运行该语句,它尝试显示结果,但只显示(XMLTYPE)
。
【讨论】:
以上是关于将列数据转换为xml格式;查询失败,因为当前不支持所有列类型的主要内容,如果未能解决你的问题,请参考以下文章