DBAtlas · データベース運用アトラス

9421: XML parsing: illegal xml character(XML 解析: 無効な XML 文字)

SQL Server

意味

SQL Server がテキストを XML として解析中に、許可されない (無効な) 文字を検出した。この文字のために XML 型への変換、または XML 列/変数への代入が失敗した。

原因

XML 1.0 で禁止されている制御文字 (例: 0x00-0x1F の範囲の一部の文字)、誤ったエンコーディング (エンコーディングの不一致)、または他のソースからの破損した/サニタイズされていないデータ。通常、CAST(... AS XML) や XML 列への INSERT 中に発生する。

対処方法

XML に変換する前にテキストから無効な文字を除去する。ソースのエンコーディング (UTF-8/UTF-16) をターゲットと互換にし、XML 宣言に正しいエンコーディングを指定する。REPLACE/NCHAR で制御文字を削除するか、アプリケーション層で標準ライブラリを使って XML を生成・検証する。生のテキストを格納する必要がある場合は NVARCHAR(MAX) を検討する。

DBAtlas で開く →

同じデータベースの他の項目