2013-02-05 22 views
0

我正在开发一个使用VS 2008和SQL-Server 2005的项目。 我已经使用varchar(150) -field保存一个正常字符串,必须保存将SQL-Server 2005上的数据保存为硬拷贝和软拷贝时出错

  1. 软拷贝
  2. 纸质
  3. 两者(下载版&硬拷贝)

为软拷贝或硬拷贝,但两者在保存时(所以它的工作原理ftcopy &硬拷贝),它引发以下错误:

string or binary data would be truncate. The statement has been terminated.

当我重新启动了这个错误发生后,一切正常perferctly应用。

我试图使用Nvarchar(Max)为同一领域,但错误都是一样的。

请给我建议,以避免此错误。

+0

检查数据长度查询或存储在哪里你的申请分配值的过程保存在分贝(参考:当你改变它'nvarchar(最大)',但它不工作)。 – nrsharma

回答

1

该错误表示您正在更新大于可容纳的大小的列。检查列值中的空格空间

0

当您的数据类型大小与数据库字段属性不匹配时,会发生此异常。

这可能是因为您的列长度小于您插入的数据。

因此,如果您将列长增加到可以占用输入数据的列长度,那么问题将得到解决。

如果使用Nvarchar(Unicode字符数据)数据类型,那么你需要用N'作为前缀像这样插入数据:

Set @var = N'Hello World' 
0

错误string or binary data would be truncate. The statement has been terminated超过大小的时候来了。尝试从varchar(150) to varchar(500)更新您的尺寸。

或者在您的查询或存储过程中检查您的数据长度,您将值分配给保存在db中的字段(参考:将其更改为nvarchar(max),但它不起作用)。

0

出现这种情况,如果你想太多数据插入到具有有限大小的字段,在您的案件150