SQL 开发者不显示 XML

SQL Developer doesn't display XML

Oracle 的 SQL 开发人员在使用数据类型 XMLType 时不显示 XML 列的内容。第一行显示正常(如果 Preferences > Database > Advanced > Display XML Value in Grid 被勾选),但是一旦你双击黄色的小铅笔,"View Value" window 仍然是空的.奇怪的是,如果将 XML 存储在 clob 中,它会起作用。

CREATE TABLE t (x XMLTYPE, c CLOB);
INSERT INTO t VALUES (XMLTYPE('<x/>'), '<x/>');
COMMIT;
SELECT * FROM t;

经过大量互联网搜索后,我发现了那个 JeffSmith 的 post 说这是一个已知错误,很快就会修复。是的,它从 19.1 版开始再次运行。然而,在工作中,我们暂时停留在 18.2 版本上。那么,18 有解决方法吗?

Version    XML View Value
17.3.0.271 ok
17.4.0.355 ok
18.1.0.095 empty
18.2.0.183 empty
19.1.0.094 ok
19.2.1.247 ok
19.4.0.354 ok (but needs modern JDK)

这是 19.1 中的样子:

其次,我找不到 SQL 开发人员的错误列表,或已修复错误的列表,或旧的发行说明。目前,Oracle 的下载页面只列出了最新的三个版本 19.1、19.2 和 19.4,因此无法得知此错误何时修复。

正确的解决方案是升级到版本 19(或理论上降级​​到 17)。

如果您卡在版本 18 中,有一个解决方法:

SELECT t.x.getClobVal() FROM t t;

由于某些奇怪的原因,需要 table 别名。