3

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

私が直面している問題は、上記で作成した xml ファイルを別の Oracle テーブルに (xmltable 関数を使用して) 挿入しようとしているときに、「xml 解析に失敗しました」ということです。以下のエラーが表示されます。

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 ファイルから特殊文字を手動で削除すると、正常に動作し始めました。しかし、それらを削除せずにこれを機能させたいと思います。

4

2 に答える 2

1

Oracle提供の関数を使用して、すべてのspl文字を削除できますdbms_xmlgen.convert(...)

dbms_xmlgen.convert(arg1)
于 2011-01-05T10:12:46.147 に答える