9421: XML parsing: illegal xml character
SQL Server¿Qué significa?
SQL Server encontró un carácter no permitido (no válido) al analizar texto como XML. La conversión al tipo XML o la asignación a una columna/variable XML falló por este carácter.
¿Por qué ocurre?
Caracteres de control prohibidos en XML 1.0 (p. ej., algunos caracteres del rango 0x00-0x1F), una codificación incorrecta (encoding no coincidente) o datos corruptos/sin sanear procedentes de otra fuente. Suele aparecer durante CAST(... AS XML) o un INSERT en una columna XML.
Cómo solucionarlo
Elimine los caracteres no válidos del texto antes de convertirlo a XML. Haga compatible la codificación de origen (UTF-8/UTF-16) con la de destino; declare la codificación correcta en la declaración XML. Elimine los caracteres de control con REPLACE/NCHAR, o genere y valide el XML con una biblioteca estándar en la capa de aplicación. Si debe almacenar el texto sin procesar, considere NVARCHAR(MAX).
Más entradas de este motor
- 3729Cannot DROP because it is being referenced by object (no se puede eliminar porque otro objeto lo referencia)
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (falló la transacción snapshot porque una sentencia DDL modificó el objeto)
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths (la restricción FOREIGN KEY puede provocar ciclos o varias rutas de cascada)
- 15151Cannot find the object/principal because it does not exist or you do not have permission (no se encuentra el objeto/principal porque no existe o no tiene permiso)
- 4834You do not have permission to use the bulk load statement (no tiene permiso para usar la sentencia de carga masiva)
- 10928Resource limit for the database has been reached (Azure SQL) (se alcanzó el límite de recursos de la base de datos)
- 40544The database has reached its size quota (Azure SQL) (la base de datos alcanzó su cuota de tamaño)