[BTS]5740,10034错误处理?
这又是什么错?
事件类型: 警告
事件来源: BizTalk Server 2006
事件种类: BizTalk Server 2006
事件 ID: 5740
日期: 2008-3-4
事件: 13:46:51
用户: N/A
计算机: EIAC-TEMP5
描述:
适配器“SQL”返回一条错误消息。详细信息为“HRESULT="0x80040e14" Description="SQLOLEDB Error Description: Ambiguous update, unique identifier required Transaction aborted "
<Root xmlns:ns00="urn:schemas-microsoft-com:xml-updategram"><?MSSQLError HResult="0x80040e14" Source="Microsoft OLE DB Provider for SQL Server" Description="SQLOLEDB Error Description: Ambiguous update, unique identifier required Transaction aborted "?></Root>”。
事件类型: 错误
事件来源: XLANG/s
事件种类: 无
事件 ID: 10034
日期: 2008-3-4
事件: 13:46:52
用户: N/A
计算机: EIAC-TEMP5
描述:
未捕获的异常(请参阅下面的“内部异常”)已经挂起服务“EIAC.OA.NotificationSystem.Orchestrations.Main(a44769cf-20b3-668b-e434-e1b03b6f84c2)”的一个实例。
在管理性地恢复或终止该服务实例前,它将保持挂起状态。
如果恢复了该服务实例,它将从上次持续的状态继续,这可能再次引发同样的异常。
实例 ID: d9c408b3-57ab-48dd-937c-80dd864c1580
形状名称:
形状 ID:
引发异常的位置: 段 -1,进程 -1
内部异常: 处理消息时出错,有关详细信息,请参阅详细资料部分
消息 ID: {2F367584-1D89-4551-A76A-1223E5BB2F4E}
实例 ID: {FA895E7E-1DBA-4293-A0F5-E6DFD753BB3A}
错误说明: HRESULT="0x80040e14" Description="SQLOLEDB Error Description: Ambiguous update, unique identifier required Transaction aborted "
<Root xmlns:ns00="urn:schemas-microsoft-com:xml-updategram"><?MSSQLError HResult="0x80040e14" Source="Microsoft OLE DB Provider for SQL Server" Description="SQLOLEDB Error Description: Ambiguous update, unique identifier required Transaction aborted "?></Root>
异常类型: XlangSoapException
源: Microsoft.XLANGs.BizTalk.Engine
目标站点: Void VerifyTransport(Microsoft.XLANGs.Core.Envelope, Int32, Microsoft.XLANGs.Core.Context)
下面是一个堆栈跟踪,用于标识发生异常的位置
在 Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env, Int32 operationId, Context ctx)
在 Microsoft.XLANGs.Core.Subscription.Receive(Segment s, Context ctx, Envelope& env, Boolean topOnly)
在 Microsoft.XLANGs.Core.PortBase.GetMessageId(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
在 EIAC.OA.NotificationSystem.Orchestrations.Main.segment17(StopConditions stopOn)
在 Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)
这几次发现,5470, 5474, 10034 这样的错误,经常会同时出现。10034就不用去管它了。
5470,又是报sqladapter有问题,难道它这么脆弱吗?
测试现象,跟前面的流程一样,主要问题出在当流程有并发执行updategram的update操作时,就会报上面的错误。注意,是并发执行,当并发数>3时,就会引起错误。这是为什么呢?
总之,我还解释不了,但,与以往项目对比发现,主要区别就是定义的数据表ID字段没有设置成PK,改过来,问题就解决了!
![](https://www.cnblogs.com/Emoticons/qface/055243970.gif)