Sql Server – String or binary data would be truncated.
Bugün aynı takımda çalıştığım bir arkadaşım aktarım işlemleri için kullandığımız Stored Procedure bir değişiklik yapmıştı. Değişiklikten sonra sp‘yi çağıran Job‘un hata verdiğini tespit ettik. Hata, çok sık karşılaşılabilecek bir hata olduğu için sizlerle de paylaşmak istedim.
Örneklendirmek gerekirse;
[sql]
CREATE TABLE [dbo].[TEST]
(
ID INT IDENTITY(1,1) NOT NULL,
Name varchar(5),
Surname varchar(20)
)
[/sql]
Oluşturduğum tabloda Name alanı 5 karakterden fazla bir değer verdiğimde aşağıdaki hata meydana gelmektedir.
[sql]
INSERT INTO TEST (Name,Surname)VALUES(‘Hüseyin’,’Güneş’)
[/sql]
Eğer bir alana kaydetmeye çalıştığınız bilginin uzunluğu, o alan için atadığınız veri tipinde tanımladığınız uzunluktan daha uzunsa “String or binary data would be truncated.” hatası ile karşılaşırsınız. Sorunun ne olduğunu tespit ettikten sonra önümüzde 2 seçenek oluyor ;
1. Kolona ekleyeceğimiz veri boyutu alan boyutunu geçmemeli,
2.Tablodaki ilgili kolon veri uzunluğunu arttırmak.
Hangi çözümü tercih edersiniz? :)