Ich migriere eine Datenbank von Oracle 10.1 auf 11.2 und ich habe das folgende Problem.Oracle 10.1 und 11.2 produzieren verschiedene XML-Daten mit der gleichen Anweisung
Die Aussage
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
)
Auf der ursprünglichen 10.1 Datenbank erzeugt XML so ...
<?xml version="1.0" encoding="utf-8"?>
<Element1>
<Element2>
<Element3>
<ELEMENT4>content</ELEMENT4>
</Element3>
</Element2>
</Element1>
Auf dem neuen 11,2-System sieht es so aus ...
<?xml version="1.0" encoding="utf-8"?>
<Element1>
<Element3>
<ELEMENT4>content</ELEMENT4>
</Element3>
</Element1>
Gibt es eine Umgebungsvariable, die ich Oracle fehlt, wie er sein XML formatiert? Es gibt Hunderttausende von PL/SQL-Zeilen in der Datenbank; Es wäre eine Mammutaufgabe neu zu schreiben, wenn sich herausstellen sollte, dass sie sich so verändert haben, wie Oracle XML zwischen Versionen formatiert.
Hoffentlich ist jemand schon mal darüber gekommen. Dank
Opps, habe ich einen nicht generischen Methodenaufruf in der Probe gelassen. Wenn Sie ersetzen Pkg_Translate.getXmlHeader Mit ' Xml version = "1.0" encoding = "utf-8"?>' sollten Sie in der Lage sein, dieses Problem auf jeder Kopie von Oracle zu sehen, 10 oder 11. –