簡體   English   中英

字符串或二進制數據將被截斷。 該語句已終止。 System.Data.SqlClient.SqlException(0x80131904)

[英]String or binary data would be truncated. The statement has been terminated. System.Data.SqlClient.SqlException (0x80131904)

字符串或二進制數據將被截斷。 該語句已終止。

System.Data.SqlClient.SqlException(0x80131904):字符串或二進制數據將被截斷

當C#(model)嘗試為在SQL SERVER數據庫表中定義的大小較少的列保存數據記錄時,拋出此異常,在該值中傳遞給該列的字符串長度更大的值。

要解決此錯誤,您只需要使用SQL Server腳本更改SQL SERVER數據庫中表的列。

僅增加表中列的大小有效。 無需在PROD / TEST環境上重新部署應用程序。

請參考下面的示例。

CREATE TABLE MyTable(Num INT, Column1 VARCHAR(3))

INSERT INTO MyTable VALUES (1, 'test')

查看column1,它的大小為3,但給定值的長度為4,所以您會得到錯誤。

要修復該錯誤:

您應該傳遞小於或等於其大小的字符串值,即如下所示的3個字符。

INSERT INTO MyTable VALUES (1, 'tes')

如果要抑制此錯誤

您可以使用下面的ansi_warnings參數設置為off

SET ansi_warnings OFF

如果將ansi_warnings設置為OFF,則將抑制該錯誤,並且將插入該列中的所有內容,其余部分將被截斷。

INSERT INTO MyTable VALUES (1, 'test') 

字符串“ tes”將存儲在表中,並且不會返回任何錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM