【发布时间】:2012-03-29 10:04:21
【问题描述】:
我有两张桌子:
- 财产
- Property_Localize
和一个从属性中删除记录的 SP:
- (删除_SP)
我有一个触发而不是从属性中删除记录的触发器,它首先从Property_Localize 表中删除相关记录,然后从属性表中删除记录..
Property table's 主键在其他一些表中也用作外键。
现在我们正在尝试从Delete_SP.删除记录
如果property 表在任何其他表中有关联记录,则会引发异常,此异常在try..catch block 中处理,因此无论如何SP 在输出参数中返回一些默认值并成功执行。
如果我们从后端 (SQL Server Management Studio) 运行此 SP,这绝对可以正常工作。
但是当我们从 asp.net 执行这个 SP 时,它会出现以下错误:
"在批处理结束时检测到不可提交的事务。 事务被回滚。”
虽然它给出了正确的输出参数。
我们还尝试在触发器中添加 try catch 和显式事务块,但它仍然给出相同的错误。
任何帮助将不胜感激。
我忘了说,我使用的是 CodeSmith 生成的数据库层。
【问题讨论】:
-
错误相同,但场景不同。
标签: asp.net sql-server sql-server-2008 sql-server-2005 codesmith