DBAtlas · Atlas de operações de banco de dados

9421: XML parsing: illegal xml character

SQL Server

O que significa?

O SQL Server encontrou um caractere não permitido (inválido) ao interpretar um texto como XML. A conversão para o tipo XML ou a atribuição a uma coluna/variável XML falhou por causa desse caractere.

Por que acontece?

Caracteres de controle proibidos no XML 1.0 (por exemplo, alguns caracteres no intervalo 0x00-0x1F), codificação errada (incompatibilidade de encoding) ou dados corrompidos/não sanitizados vindos de outra origem. Geralmente ocorre durante CAST(... AS XML) ou um INSERT em uma coluna XML.

Como resolver

Remova os caracteres inválidos do texto antes de convertê-lo para XML. Torne a codificação de origem (UTF-8/UTF-16) compatível com a de destino; declare a codificação correta na declaração XML. Remova caracteres de controle com REPLACE/NCHAR, ou gere e valide o XML com uma biblioteca padrão na camada de aplicação. Se precisar armazenar o texto bruto, considere NVARCHAR(MAX).

Abrir no DBAtlas →

Mais entradas deste banco