2009-08-20 13 views
3

Ich benutze Oracle 11G SQL Developer's Export Utility, um die Tabellendaten in XML zu konvertieren. Um dies zu tun, habe ich UTF-8-Codierung verwendet. Die Sonderzeichen (0x13), die ich in DB als quadratische Kästchen sehe, sind so in xml gekommen. Um dieses spezielle Zeichen loszuwerden, müssen wir eine andere Kodierung in Sql Developer auswählen?Orakel Xml Parsing gibt ungültige Zeichen Fehler

Das Problem, dem ich gegenüberstehe, ist, 'xml parsing failed', während ich versuche, die oben erstellte XML-Datei in eine andere Oracle-Tabelle einzufügen (mit der xmltable-Funktion). Ich bekomme den folgenden Fehler.

ORA-31011: XML parsing failed 
ORA-19202: Error occurred in XML processing 
LPX-00216: invalid character 0 (0x13) 
Error at line 10682 
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 0 
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 26 
ORA-06512: at line 9 

Wenn ich die Sonderzeichen aus der XML-Datei manuell entfernen, funktioniert es gut. Aber ich würde gerne funktionieren, ohne sie zu entfernen.

Antwort

1

Sie können die Sonderzeichen über die REPLACE Funktion entfernen - nur CHR ersetzen (13) über einen Rohling:

REPLACE(arg1, CHR(13), ''); 
+0

Nutzlos ohne die Liste der schlechten Zeichen – Superdooperhero

1

Sie können alle spl Zeichen entfernen Sie die Oracle mit Hilfe der mitgelieferten Funktion dbms_xmlgen.convert(...)

dbms_xmlgen.convert(arg1) 
+0

Funktioniert nicht für mich. – Superdooperhero