![](/img/trans.png)
[英]String or binary data would be truncated. The statement has been terminated at System.Data.SqlClient.SqlConnection
[英]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.