Cannot close state when a stored procedure having the close edit version syntax is called from a trigger.
上次发布: August 25, 2014ArcSDE/Enterprise Geodatabase
漏洞 ID 编号
NIM058818
已提交
July 7, 2010
上次修改时间
April 2, 2025
适用范围
ArcSDE/Enterprise Geodatabase
找到的版本
9.3.1
操作系统
Windows OS
操作系统版本
2003
状态
Known Limit
经开发团队审核,已确定此问题与不受 Esri 控制的软件的已知限制有关。 问题的“其他信息”部分可能包含进一步说明。
附加信息
Multiversioned view edits called via a trigger can fail due to transaction scope issues. See the workaround for more info on changes in next release.
解决办法
This is a known limit. The SQL Server trigger is expecting to close with a transaction count of 1. The Edit_version stored procedure expects a transaction count of 0 to close a state at 9.3.1, or returns the transaction count to 0 (10.0 SP4 fix). Either case is causing the trigger to abort.At 9.3.1 & earlier there is no workaround.For edits exclusively to the default version, upgrade to 10.0 SP4 or later. Edits to default no longer use the edit_version stored procedure. See the 10.1 documentation for more information.For edits to child versions at 10.0 SP4 or later you can test adding a 'BEGIN TRAN' statement to the assessment_xy_to_assessment_mobile trigger immediately after the exec sde.insert_assessment_mv stored procedure call. This will increment the transaction count to 1. This should satisfy the trigger requirement without impacting the stored procedure. The transaction count is returned to 0 when the trigger completes.