2013-02-05 21 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