Search code examples
sqlderby

SQL Exception: A truncation error was encountered trying to shrink VARCHAR '...' to length x


I know really little about sql, can anyone give me a deeper explanation (or references) of what do this exception means?

--update

data to add in VARCHAR is:

30819f300d06092a864886f70d010101050003818d00308189028181008942f81b3ae99e5f66dbc92cb971366f513c056e0bd6557c021058f6892d3a648230959c95378969f6dcb63046431fc0d39799789d307f96c811ae3836e43075e8cf21af84ce84f1e9c68773c9fbf03149f40248797a92562d55698dc7dce9f840bad0dfb47ccb982a2f015461cd5d38a3d6d75b349ce0bd89e3535ee8091ce70203010001

which have 325 chars.

And my VARCHAR is of size 330 and is throwing this exception:

SQL Exception: A truncation error was encountered trying to shrink VARCHAR '30820276020100300d06092a864886f70d0101010500048202603082025c&' to length 330.

(note that the VARCHAR specified in the error message is different from the VARCHAR I'm trying to insert, I don't know why)

given this sizes, cannot be a metter of my data be larger than the VARCHAR, as you can see.

What may be wrong?

--found

While preparing a SSCCE, I realized that I was inserting wrong data in wrong place.. XD


Solution

  • It means your VARCHAR field (variable length string field) has a length of X, e.g. 100, while the data you were trying to insert was more than 100 characters long.

    SQL Server will not automatically truncate your data at the maximum length of the varchar field - you have to make sure yourself not to insert more data than the field can hold.