String Or Binary Data Would Be Truncated Hata Çözümü

Merhaba Arkadaşlar,

MSSQL’e kayıt yazılır iken veya güncellenir iken bu hatayla karşılaşır. Bu hatanın asıl sebebi, gönderdiğimiz field (alan) lardan biri veya bir kaçının izin verilen uzunluğu geçmesidir. Örneğin tablodaki bir alana nvarchar(10) tanımlayıp “Üsküdar Devlet Hastanesi” gibi bir kayıt yazmak için gönderdiğinizde sistemden insert/update sırasında otomatik olarak “String Or Binary Data Would Be Truncated” mesajını alırsınız ve işlem başarızlıkla sonuçlanır.

String Or Binary Data Would Be Truncated Hatasını Çözümü Nedir?

Aslında burada iki noktadan söz edebiliriz. Birincisi, veritabanı tasarımını yaparken sistemi yormayacak ve fakat kullanıcıların girebileceği değerlerin de maksimumunu düşünerek bir tasarım oluşturmamız gerekir. Eğer bu şekilde bir DB mimarisi gerçekleştirir isek bu gibi bir sorun ile karşılaşmayız. İkincisi ise, ilgili alana yapılan girişi kullanıcı tarafında bir validator ile kontrol etmemiz faydalı olacaktır.

Yani Çözümü Özetleyecek Olur İsek

  1. Eğer gerekli ise DB tasarımındaki ilgili alanın boyut limitini yükseltebiliriz. (Ancak burada da limitsiz (nvarchar(max) gibi…) bir değer vermek ilerleyen aşamada veritabanımızı kayıtsız ve şartsız çok fazla şişirecektir. Buna dikkat etmeliyiz.)
  2. Kullanıcıdan bilgi alınan bir kayıt işlemi ise kullanıcı (client) tarafında validatorlar ile maksimum karakter kontrolü gerçekleştirebilir ve bu sayede belirtilen karakter sayısından fazla kayıt girilmesini engelleyebiliriz.

Aslını isterseniz benim naçizane tavsiyem ikinci yöntem olacaktır. Zira aksi taktirde DB’de bu gibi arttırmak zorunda kalacağımız alan miktarı gün be gün artacaktır. Bu yüzden validasyon candır. 🙂

0 0 votes
Article Rating
Subscribe
Bildir
guest
0 Yorum
Inline Feedbacks
View all comments