Я перемещаю базу данных из Oracle 10.1 в 11.2, и у меня возникает следующая проблема.
Заявление
SELECT
'<?xml version="1.0" encoding="utf-8" ?>' || (Xml).getClobVal() AS XmlClob
FROM
(
SELECT
XmlElement( "Element1",
(
SELECT
XmlAgg(tpx.Xml)
FROM
(
SELECT
XmlElement("Element3",XmlForest('content' as Element4)) AS Xml
FROM dual
) tpx
) AS "Element2"
) AS Xml
FROM
dual
)
На исходной базе данных 10.1 XML выглядит следующим образом ...
<?xml version="1.0" encoding="utf-8"?>
<Element1>
<Element2>
<Element3>
<ELEMENT4>content</ELEMENT4>
</Element3>
</Element2>
</Element1>
На новой системе 11.2 это выглядит так ...
<?xml version="1.0" encoding="utf-8"?>
<Element1>
<Element3>
<ELEMENT4>content</ELEMENT4>
</Element3>
</Element1>
Есть ли какая-то переменная окружения, которая мне не хватает, которая говорит Oracle, как форматировать XML. В базе данных есть сотни тысяч строк PL / SQL; переписать было бы огромной задачей, если бы оказалось, что они изменили свой способ, которым Oracle форматирует XML между версиями.
Надеюсь, кто-то сталкивался с этим раньше.
Спасибо