簡體   English   中英

字符串或二進制數據將被截斷。 語句已終止。[SqlException (0x80131904): 字符串或二進制數據將被截斷

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

我已經搜索過答案說插入的值可能很長或數據類型不匹配,因為可能會出現這種類型的錯誤,但是這個網絡應用程序在我的本地系統上運行良好,但是當我在將它發布到網絡后使用它時,這個出現錯誤,但所有其他網頁插入查詢都可以正常工作

錯誤僅顯示在這一頁上。

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

說明:執行當前 Web 請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其源自代碼的位置的更多信息。

異常詳細信息:System.Data.SqlClient.SqlException:字符串或二進制數據將被截斷。
該語句已終止。

源錯誤:

在執行當前 Web 請求期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來識別有關異常起源和位置的信息。

堆棧跟蹤:

[SqlException (0x80131904):字符串或二進制數據將被截斷。
該語句已終止。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 異常,布爾型 breakConnection,Action 1 wrapCloseInAction) +388
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +717
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
System.Data.SqlClient.SqlDataReader.get_MetaData() +134
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6557689
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +6560327
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 wrapCloseInAction) +388
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +717
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
System.Data.SqlClient.SqlDataReader.get_MetaData() +134
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6557689
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +6560327
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 wrapCloseInAction) +388
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +717
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4515
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61
System.Data.SqlClient.SqlDataReader.get_MetaData() +134
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +6557689
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +6560327
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource
1 完成,Int32 超時,Task& 任務,Boolean asyncWrite)+586

System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法) +104
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行為,字符串方法)+288
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 行為)+171
System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator 翻譯器,EntityConnection 連接,字典2 identifierValues, List 1 generatedValues)+303
System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter 適配器) +485

[UpdateException:更新條目時發生錯誤。 有關詳細信息,請參閱內部異常。]

System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter 適配器) +4502203
System.Data.Objects.ObjectContext.SaveChanges(SaveOptions 選項)+583
System.Data.Entity.Internal.InternalContext.SaveChanges() +218

[DbUpdateException:更新條目時發生錯誤。 有關詳細信息,請參閱內部異常。]
System.Data.Entity.Internal.InternalContext.SaveChanges() +291
frm_addkarigar.btnadd_Click(對象發送者,EventArgs e)+1672
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument)+155
System.Web.UI.Page.ProcessRequestMain(布爾 includeStagesBeforeAsyncPoint,布爾 includeStagesAfterAsyncPoint)+3804

這是插入數據的c#代碼

db_mytailorEntities _objdb = new db_mytailorEntities();
int count = _objdb.tbl_karigar.Where(obj => obj.name == txtname.Text).Count();

karigar.name = txtname.Text;
karigar.state = ddlstate.Text;
karigar.city = ddlcity.Text;
karigar.address = txtaddress.Text;
karigar.ph1 = txtph1.Text;
karigar.ph2 = txtph2.Text;
karigar.date_reg = DateTime.Now.ToString();
karigar.name = txtname.Text;

if (txtamntdue.Text == "")
    karigar.amount_due = 0;
else
    karigar.amount_due = int.Parse(txtamntdue.Text);

karigar.K_id = txtname.Text+"-"+(count+1);
karigar.foruser = Session\["userid"\].ToString().TrimEnd();

_objdb.tbl_karigar.Add(karigar);
_objdb.SaveChanges();

Response.Write("<script language>alert('Karigar added successful')</script>");][1]

此錯誤表明您嘗試寫入的數據對於其中一列來說太大了。 它可以在本地工作,但不能在您的生產環境中工作,這可能是一些事情。 您本地機器上的架構與您的生產環境是否相同? 您知道正在寫入哪些數據會導致錯誤嗎?

此錯誤表明您嘗試寫入的數據對於其中一列來說太大了。

我遇到了類似的錯誤,字符串或二進制數據將被截斷,但它來自 SQL 表 CRUD 權限被 DBA 刪除。 因此,如果沒有其他工作,我會查看連接字符串和網站 (IIS) 身份驗證/模擬設置。 它適用於您的本地計算機,但不適用於 Web 服務器。 因此,快速檢查是在 IIS 模擬下或 web.config 連接字符串中輸入您的憑據。

我有同樣的問題。 就我而言,問題出在我沒想到會出錯的地方。 我忘了讓 id 成為“身份”,以便它是增量的。 是的,就這么簡單。

暫無
暫無

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

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