2009-08-20 60 views
3

Oracle 11g sql開発者のエクスポートユーティリティを使用して、表形式のデータをXMLに変換しています。これを行うために、私はutf-8エンコーディングを使用しました。 DB内で正方形のボックスとして表示される特殊文字(0x13)はそのままXMLに入ります。この特殊文字を取り除くには、Sql Developerで他のエンコーディングを選択する必要がありますか?oracle xml解析で無効な文字エラーが発生する

私が直面している問題は、上記のxmlファイルをxmltable関数を使用して別のOracleテーブルに挿入しようとすると 'xml parsing failed'です。私は以下のエラーを受け取ります。

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 

xmlファイルから特殊文字を手動で削除すると、正常に動作します。しかし、私はそれらを取り除かずにこれを稼働させたいと思っています。

答えて

1

あなたはREPLACE機能を経由して特殊文字を削除することができます - ちょうど空白を経てCHR(13)を交換:

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

機能を供給削除することができます悪い文字のリストなしで役に立たない – Superdooperhero

1

Oracleを使用して、すべてのSPL文字がdbms_xmlgen.convert(...)

dbms_xmlgen.convert(arg1) 
+0

私のために働かない。 – Superdooperhero

関連する問題