[18:12:56] -------------------------------------------------------------
CODE:N1812561
Error:16_8152_30_-2146232060
SQL:update RB_Procurement_Order_Package set StockOrderNumber='RV000013-220701-0002,RV000013-220505-0001,RV000013-220615-0003',SyncStockOrderStatus=1 where ID=28241972 and CustomerID=1
PARAMS:
MESSAGE:String or binary data would be truncated.
The statement has been terminated.
TRACE: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)
在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms)
在 RB.DAL.RB_Procurement_Order_Package.BatchUpdatePackageOrderNo(List`1 listModel, Int32 customerId)
在 Biz.Irobotbox.WareHouse.Warehouse_ReleatePackageNoBLL.DoRelatePacageNo(List`1 listModel, Int32 customerId, Int32 adminId, String adminName)
在 PandaBuy.ERP.Web.IrobotBox.WareHouse.ReleateWarehouseNo.SaveData()
在 PandaBuy.ERP.Web.IrobotBox.WareHouse.ReleateWarehouseNo.Page_Load(Object sender, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 ASP.irobotbox_warehouse_releatewarehouseno_aspx.ProcessRequest(HttpContext context)
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
在 System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
在 System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
在 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
在 System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
-------------------------------------------------------------
重现步骤

开发报告
1.字段长度不够,导致数据库更新失败,原来该字段最大长度为50个字符,客户需要更新的数据的长度为62导致报错
解决方案:数据库把字段长度调整为100,因为这个入库单号一个包裹最多不会超过5个,查询了客户两千多W的数据,多个入库单的数据暂时就只有59条;所以暂时先就把长度调整为100
IF OBJECT_ID('RB_Procurement_Order_Package') IS NULL PRINT 'Error:Table RB_Procurement_Order_Package don''t exists!'
ELSE
IF EXISTS(SELECT 1 FROM SYSOBJECTS T1 JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='RB_Procurement_Order_Package' AND T2.NAME='StockOrderNumber')
begin
alter table RB_Procurement_Order_Package alter column StockOrderNumber VARCHAR(100)
end
IF @@ERROR>0 PRINT 'Error:Failed to add column StockOrderNumber on table RB_Procurement_Order_Package!'
GO