重现步骤

[步骤]



[12:38:00]  -------------------------------------------------------------
CODE:N1238006
Error:11_-2_0_-2146232060
SQL: 
                UPDATE 
                    oi
                SET oi.PayAmountAmount = oe.PayAmount,
                oi.UpdateTime = GETDATE()
                FROM RB_AliExpress_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK)
                WHERE oi.AliExpressOrderID IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ','))
                    AND oi.OrderSourceID = @OrderSourceID
                    AND oi.CustomerID = @CustomerID
                    AND oi.AliExpressOrderID = oe.ClientOrderCode 
                    AND oi.OrderSourceID = oe.OrderSourceID
                    AND oi.CustomerID = oe.CustomerID 
PARAMS:@ClientOrderCodes = 8185119524016503,1103561468046844 ,@OrderSourceID = 6252 ,@CustomerID = 1 ,
MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。 
The statement has been terminated.
TRACE:   在 System.Data.SqlClient.SqlConnection.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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   在 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.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateAliexpressOrderPayAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId)
   在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters)
   在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters)
   在 System.Threading.Tasks.Task.Execute()
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   在 System.Threading.ThreadPoolWorkQueue.Dispatch()


同样处理

[00:36:28]  -------------------------------------------------------------
CODE:N0036281
Error:11_-2_0_-2146232060
SQL: 
                UPDATE 
                    oi
                SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount > 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount > 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)),
                oi.UpdateTime = GETDATE()
                FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK)
                WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ','))
                    AND oi.OrderSourceID = @OrderSourceID
                    AND oi.CustomerID = @CustomerID
                    AND oi.DownLoadUpdateTime > '2000-01-01'
                    AND oi.ClientOrderCode = oe.ClientOrderCode 
                    AND oi.OrderSourceID = oe.OrderSourceID
                    AND oi.CustomerID = oe.CustomerID
                    AND oi.ClientOrderCode = eoi.AliExpressOrderID 
                    AND oi.OrderSourceID = eoi.OrderSourceID
                    AND oi.CustomerID = eoi.CustomerID 
PARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,
MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。 
The statement has been terminated.
TRACE:   在 System.Data.SqlClient.SqlConnection.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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   在 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.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId)
   在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters)
   在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters)
   在 System.Threading.Tasks.Task.Execute()
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)
   在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)
   在 System.Threading.ThreadPoolWorkQueue.Dispatch()



[结果]

超时 阻塞严重 

[期望]

oi.AliExpressOrderID  和 item 的参数类型 不一致 建议加上判断 当只有一个的时候 采用等于  多个采用标参数传值 保证类型的一致性 
历史记录  
  1. 2024-03-06 15:22:13, 由 袁慧斌 创建。
  2. 2024-03-06 15:29:40, 由 袁慧斌 编辑。
    修改了 解决时效,旧值为 "0",新值为 "-1"。
    修改了 重现步骤,区别为:
    003- [结果]
    003+
    004- 超时 阻塞严重[期望]
    004+ 同样处理
    005- oi.AliExpressOrderID 和 item 的参数类型 不一致 建议加上判断 当只有一个的时候 采用等于 多个采用标参数传值 保证类型的一致性
    005+ [00:36:28] -------------------------------------------------------------CODE:N0036281Error:11_-2_0_-2146232060SQL: UPDATE oi SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount > 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount > 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)), oi.UpdateTime = GETDATE() FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK) WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ',')) AND oi.OrderSourceID = @OrderSourceID AND oi.CustomerID = @CustomerID AND oi.DownLoadUpdateTime > '2000-01-01' AND oi.ClientOrderCode = oe.ClientOrderCode AND oi.OrderSourceID = oe.OrderSourceID AND oi.CustomerID = oe.CustomerID AND oi.ClientOrderCode = eoi.AliExpressOrderID AND oi.OrderSourceID = eoi.OrderSourceID AND oi.CustomerID = eoi.CustomerIDPARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。The statement has been terminated.TRACE: 在 System.Data.SqlClient.SqlConnection.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.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) 在 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.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId) 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters) 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters) 在 System.Threading.Tasks.Task.Execute() 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) 在 System.Threading.ThreadPoolWorkQueue.Dispatch()
    006+
    007+
    008+ [结果]
    009+ 超时 阻塞严重[期望]
    010+ oi.AliExpressOrderID 和 item 的参数类型 不一致 建议加上判断 当只有一个的时候 采用等于 多个采用标参数传值 保证类型的一致性
    003- <br /><p>[结果]</p>
    003+ <p><br /></p>
    004- 超时 阻塞严重<br /><p>[期望]</p>
    004+ <p>同样处理</p>
    005- <span></span><span>oi.AliExpressOrderID 和 item 的参数类型 不一致 建议加上判断 当只有一个的时候 采用等于 多个采用标参数传值 保证类型的一致性</span><br />
    005+ <p>[00:36:28] -------------------------------------------------------------<br />CODE:N0036281<br />Error:11_-2_0_-2146232060<br />SQL:<br /> UPDATE<br /> oi<br /> SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount &gt; 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount &gt; 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)),<br /><span> </span> oi.UpdateTime = GETDATE()<br /> FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK)<br /> WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ','))<br /> AND oi.OrderSourceID = @OrderSourceID<br /> AND oi.CustomerID = @CustomerID<br /> AND oi.DownLoadUpdateTime &gt; '2000-01-01'<br /> AND oi.ClientOrderCode = oe.ClientOrderCode<br /> AND oi.OrderSourceID = oe.OrderSourceID<br /> AND oi.CustomerID = oe.CustomerID<br /> AND oi.ClientOrderCode = eoi.AliExpressOrderID<br /> AND oi.OrderSourceID = eoi.OrderSourceID<br /> AND oi.CustomerID = eoi.CustomerID<br />PARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,<br />MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。<br />The statement has been terminated.<br />TRACE: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)<br /> 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)<br /> 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean&amp; dataReady)<br /> 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms)<br /> 在 RB.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId)<br /> 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters)<br /> 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters)<br /> 在 System.Threading.Tasks.Task.Execute()<br /> 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot)<br /> 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)<br /> 在 System.Threading.ThreadPoolWorkQueue.Dispatch()<br /></p><div><br /></div>
    006+
    007+ <p><br /></p>
    008+ <p>[结果]</p>
    009+ 超时 阻塞严重<br /><p>[期望]</p>
    010+ <span></span><span>oi.AliExpressOrderID 和 item 的参数类型 不一致 建议加上判断 当只有一个的时候 采用等于 多个采用标参数传值 保证类型的一致性</span><br />
  3. 2024-03-06 15:35:38, 由 李乐同 指派给 程伟。
    修改了 指派给,旧值为 "liletong",新值为 "chengwei"。
  4. 2024-03-06 16:16:41, 由 程伟 指派给 唐飞飞。
    修改了 指派给,旧值为 "chengwei",新值为 "tangfeifei"。
  5. 2024-03-06 18:31:40, 由 唐飞飞 指派给 程伟。
    修改了 指派给,旧值为 "tangfeifei",新值为 "chengwei"。


  6. 2024-03-06 19:24:48, 由 程伟 确认Bug。
    修改了 Bug类型 ,旧值为 "",新值为 "performance"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
  7. 2024-03-06 19:24:59, 由 程伟 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "577"。
    修改了 解决日期,旧值为 "",新值为 "2024-03-06 19:24:50"。
    修改了 指派给 ,旧值为 "chengwei",新值为 "yuanhuibin"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 解决者 ,旧值为 "",新值为 "chengwei"。
  8. 2024-03-06 19:26:12, 由 袁慧斌 编辑。
    修改了 优先级 ,旧值为 "1",新值为 "3"。
    修改了 解决时效,旧值为 "0",新值为 "4.04"。
    修改了 上线时效,旧值为 "-1",新值为 "17744367.37"。
    修改了 重现步骤,区别为:
    005- [00:36:28] -------------------------------------------------------------CODE:N0036281Error:11_-2_0_-2146232060SQL: UPDATE oi SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount &gt; 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount &gt; 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)), oi.UpdateTime = GETDATE() FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK) WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ',')) AND oi.OrderSourceID = @OrderSourceID AND oi.CustomerID = @CustomerID AND oi.DownLoadUpdateTime &gt; '2000-01-01' AND oi.ClientOrderCode = oe.ClientOrderCode AND oi.OrderSourceID = oe.OrderSourceID AND oi.CustomerID = oe.CustomerID AND oi.ClientOrderCode = eoi.AliExpressOrderID AND oi.OrderSourceID = eoi.OrderSourceID AND oi.CustomerID = eoi.CustomerIDPARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。The statement has been terminated.TRACE: 在 System.Data.SqlClient.SqlConnection.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&amp; dataReady) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean&amp; 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.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId) 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters) 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters) 在 System.Threading.Tasks.Task.Execute() 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot) 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) 在 System.Threading.ThreadPoolWorkQueue.Dispatch()
    005+ [00:36:28] -------------------------------------------------------------CODE:N0036281Error:11_-2_0_-2146232060SQL: UPDATE oi SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount &gt; 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount &gt; 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)), oi.UpdateTime = GETDATE() FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK) WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ',')) AND oi.OrderSourceID = @OrderSourceID AND oi.CustomerID = @CustomerID AND oi.DownLoadUpdateTime &gt; '2000-01-01' AND oi.ClientOrderCode = oe.ClientOrderCode AND oi.OrderSourceID = oe.OrderSourceID AND oi.CustomerID = oe.CustomerID AND oi.ClientOrderCode = eoi.AliExpressOrderID AND oi.OrderSourceID = eoi.OrderSourceID AND oi.CustomerID = eoi.CustomerIDPARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。The statement has been terminated.TRACE: 在 System.Data.SqlClient.SqlConnection.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&amp; dataReady) 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean&amp; 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.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId) 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters) 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters) 在 System.Threading.Tasks.Task.Execute() 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot) 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) 在 System.Threading.ThreadPoolWorkQueue.Dispatch()
    006-
    006+
    005- <p>[00:36:28] -------------------------------------------------------------<br />CODE:N0036281<br />Error:11_-2_0_-2146232060<br />SQL:<br /> UPDATE<br /> oi<br /> SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount &gt; 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount &gt; 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)),<br /><span> </span> oi.UpdateTime = GETDATE()<br /> FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK)<br /> WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ','))<br /> AND oi.OrderSourceID = @OrderSourceID<br /> AND oi.CustomerID = @CustomerID<br /> AND oi.DownLoadUpdateTime &gt; '2000-01-01'<br /> AND oi.ClientOrderCode = oe.ClientOrderCode<br /> AND oi.OrderSourceID = oe.OrderSourceID<br /> AND oi.CustomerID = oe.CustomerID<br /> AND oi.ClientOrderCode = eoi.AliExpressOrderID<br /> AND oi.OrderSourceID = eoi.OrderSourceID<br /> AND oi.CustomerID = eoi.CustomerID<br />PARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,<br />MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。<br />The statement has been terminated.<br />TRACE: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)<br /> 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)<br /> 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean&amp; dataReady)<br /> 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms)<br /> 在 RB.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId)<br /> 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters)<br /> 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters)<br /> 在 System.Threading.Tasks.Task.Execute()<br /> 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot)<br /> 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)<br /> 在 System.Threading.ThreadPoolWorkQueue.Dispatch()<br /></p><div><br /></div>
    005+ <p>[00:36:28] -------------------------------------------------------------<br />CODE:N0036281<br />Error:11_-2_0_-2146232060<br />SQL:<br /> UPDATE<br /> oi<br /> SET oi.PromotionDiscountAmount = ((CASE WHEN eoi.InitOderAmountAmount &gt; 0 THEN eoi.InitOderAmountAmount ELSE eoi.InitOderAmountCent / 100.00 END) - (CASE WHEN oe.PayAmount &gt; 0 THEN oe.PayAmount ELSE oe.PayAmountCent / 100.00 END)),<br /><span> </span> oi.UpdateTime = GETDATE()<br /> FROM RB_OrderInfo oi (NOLOCK), RB_AliExpress_OrderExpand oe (NOLOCK), RB_AliExpress_OrderInfo eoi (NOLOCK)<br /> WHERE oi.ClientOrderCode IN (SELECT ITEM FROM Charsplitforin(@ClientOrderCodes, ','))<br /> AND oi.OrderSourceID = @OrderSourceID<br /> AND oi.CustomerID = @CustomerID<br /> AND oi.DownLoadUpdateTime &gt; '2000-01-01'<br /> AND oi.ClientOrderCode = oe.ClientOrderCode<br /> AND oi.OrderSourceID = oe.OrderSourceID<br /> AND oi.CustomerID = oe.CustomerID<br /> AND oi.ClientOrderCode = eoi.AliExpressOrderID<br /> AND oi.OrderSourceID = eoi.OrderSourceID<br /> AND oi.CustomerID = eoi.CustomerID<br />PARAMS:@ClientOrderCodes = 1103601514628745 ,@OrderSourceID = 17155 ,@CustomerID = 1 ,<br />MESSAGE:执行超时已过期。完成操作之前已超时或服务器未响应。<br />The statement has been terminated.<br />TRACE: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)<br /> 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)<br /> 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean&amp; dataReady)<br /> 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)<br /> 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)<br /> 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms) 在 RB.DAL.DBOperator.toCommonTipException(SqlException ex, String sql, SqlParameter[] cmdParms)<br /> 在 RB.DAL.DBOperator.ExecuteSql(String SQLString, SqlCommand cmd, Int32 Times, SqlParameter[] cmdParms)<br /> 在 RB.DALExtend.Generate.RB_AliExpress_OrderInfoExtend.UpdateOrderPromotionDiscountAmount(List`1 clientOrderCodes, Int32 orderSourceId, Int32 customerId)<br /> 在 Biz.AliExpress.AliExpressV3OrderDownload.OrderDownloadByAPI(OrderAPIModel parameters)<br /> 在 Biz.PlatformUtil.AOrderDownload.DoOrderDownloadTask(IOrderDownloadUtil parameters)<br /> 在 System.Threading.Tasks.Task.Execute()<br /> 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)<br /> 在 System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task&amp; currentTaskSlot)<br /> 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)<br /> 在 System.Threading.ThreadPoolWorkQueue.Dispatch()</p>
    006-
    006+ <div><br /></div>
  9. 2024-03-08 11:31:16, 由 袁慧斌 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "yuanhuibin",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "yuanhuibin"。
    修改了 关闭日期,旧值为 "",新值为 "2024-03-08 11:31:16"。
  10. 2024-03-12 09:09:43, 由 袁慧斌 激活。
    修改了 指派给 ,旧值为 "closed",新值为 "tangfeifei"。
    修改了 Bug状态 ,旧值为 "closed",新值为 "active"。
    修改了 激活日期,旧值为 "",新值为 "2024-03-12 09:09:43"。
    修改了 激活次数,旧值为 "0",新值为 "1"。
    修改了 解决方案,旧值为 "performance",新值为 ""。
    修改了 解决日期,旧值为 "2024-03-06 19:24:50",新值为 "0000-00-00"。
    修改了 解决者 ,旧值为 "chengwei",新值为 ""。
    修改了 解决版本,旧值为 "577",新值为 ""。
    修改了 由谁关闭,旧值为 "yuanhuibin",新值为 ""。
    修改了 关闭日期,旧值为 "2024-03-08 11:31:16",新值为 "0000-00-00"。

    参数的类型 没有指定正确  ,应该指定 @ClientOrderCode 为 varchar(100)


    下面是从数据库抓取的 实际参数类型

    (@ClientOrderCode nvarchar(16),@OrderSourceID int,@CustomerID int)                   UPDATE                       oi                  SET oi.PayAmountAmount = oe.PayAmount,                   oi.UpdateTime = GETDATE()                  FROM RB_AliExpress_OrderInfo oi (NOLOCK)                  INNER JOIN RB_AliExpress_OrderExpand oe (NOLOCK) ON oi.AliExpressOrderID=oe.ClientOrderCode AND oi.OrderSourceID=oe.OrderSourceID AND oi.CustomerID=oe.CustomerID                                        WHERE oi.CustomerID = @CustomerID  AND oi.AliexpressOrderID=@ClientOrderCode                      AND oi.OrderSourceID = @OrderSourceID 

  11. 2024-03-12 10:47:18, 由 程伟 解决,方案为 性能问题 。
    修改了 解决方案,旧值为 "",新值为 "performance"。
    修改了 解决版本,旧值为 "",新值为 "577"。
    修改了 解决日期,旧值为 "",新值为 "2024-03-12 10:46:52"。
    修改了 指派给 ,旧值为 "chengwei",新值为 "yuanhuibin"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 解决者 ,旧值为 "",新值为 "chengwei"。
  12. 2024-03-12 10:47:29, 由 程伟 编辑。
    修改了 解决时效,旧值为 "4.04",新值为 "91.41"。
    修改了 上线时效,旧值为 "17744400",新值为 "17744367.37"。
    修改了 解决者 ,旧值为 "chengwei",新值为 "tangfeifei"。
  13. 2024-03-12 10:49:32, 由 唐飞飞 指派给 程伟。
    修改了 指派给,旧值为 "tangfeifei",新值为 "chengwei"。

    已经改了参数类型,而且这个也并不是问题,虽然设置的参数类型是nvarchar,但是这个并不是什么问题

  14. 2024-03-12 11:43:30, 由 袁慧斌 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "yuanhuibin",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "yuanhuibin"。
    修改了 关闭日期,旧值为 "",新值为 "2024-03-12 11:43:30"。
所属项目 技术中心-需求池
所属模块 供应链   仓储物流   备库订单
所属计划
所属迭代
Bug类型 性能问题
严重程度 提示
优先级 P2
Bug状态 已关闭
业务部门
影响功能
开发责任人
测试责任人
解决时效 91.41
激活次数 1
激活日期 2024-03-12 09:09:43
是否确认 是
当前指派 Closed 于 2024-03-12 11:43:30
截止日期 0000-00-00
上线时间 0000-00-00 00:00:00
上线时效 17744400
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 袁慧斌 于 2024-03-06 15:22:13
影响环境 577
由谁解决 唐飞飞 于 2024-03-12 10:46:52
解决版本 ERP-生产环境
解决方案 性能问题
由谁关闭 袁慧斌 于 2024-03-12 11:43:30
最后修改 袁慧斌 于 2024-03-12 11:43:30
相关Bug