9421: XML parsing: illegal xml character
SQL ServerO 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).
Mais entradas deste banco
- 3729Cannot DROP because it is being referenced by object (não é possível remover porque outro objeto o referencia)
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (a transação snapshot falhou porque um comando DDL modificou o objeto)
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths (a constraint FOREIGN KEY pode causar ciclos ou vários caminhos em cascata)
- 15151Cannot find the object/principal because it does not exist or you do not have permission (o objeto/principal não foi encontrado porque não existe ou você não tem permissão)
- 4834You do not have permission to use the bulk load statement (você não tem permissão para usar o comando de carga em massa)
- 10928Resource limit for the database has been reached (Azure SQL) (o limite de recursos do banco foi atingido)
- 40544The database has reached its size quota (Azure SQL) (o banco atingiu sua cota de tamanho)