DBAtlas · Veritabanı operasyon atlası

9421: XML parsing: illegal xml character

SQL Server

Ne demek?

SQL Server bir metni XML olarak ayrıştırırken izin verilmeyen (geçersiz) bir karakterle karşılaştı. XML tipine dönüştürme veya XML sütununa/değişkenine değer atama işlemi bu karakter nedeniyle başarısız oldu.

Neden olur?

Metinde XML 1.0'da yasak kontrol karakterleri (ör. 0x00-0x1F aralığındaki bazı karakterler), yanlış kodlama (encoding uyuşmazlığı), ya da başka bir kaynaktan gelen bozuk/temizlenmemiş veri. Genellikle CAST(... AS XML) veya XML sütununa INSERT sırasında ortaya çıkar.

Nasıl çözülür?

Metni XML'e dönüştürmeden önce geçersiz karakterlerden temizleyin. Kaynağın kodlamasını (UTF-8/UTF-16) hedefle uyumlu hale getirin; XML bildiriminde doğru encoding belirtin. Kontrol karakterlerini REPLACE/NCHAR ile ayıklayabilir ya da uygulama katmanında XML'i standart bir kütüphaneyle üretip doğrulayabilirsiniz. Ham metni saklamanız gerekiyorsa NVARCHAR(MAX) kullanmayı değerlendirin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar