将列数据转换为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格式;查询失败,因为当前不支持所有列类型的主要内容,如果未能解决你的问题,请参考以下文章

xml格式用excel打开提示啊支持程序打开

oracle 10g如何将列转换为行

将列转换为行

pdmreader支持读取xml格式的pdm文件,无法读取二进制格式的pdm文件。

kkfileview文件预览转换pdf失败

SQL:在 Chartio 中动态地将列转换为行