Wcf 事务和 SQL 存储过程

Posted

技术标签:

【中文标题】Wcf 事务和 SQL 存储过程【英文标题】:Wcf transactions and SQL stored procedures 【发布时间】:2014-07-22 14:41:29 【问题描述】:

我有一个 wcf 服务,它具有通过存储过程在 SQL 数据库中执行插入/更新操作的方法。如果我为 wcf 服务启用事务并使用事务范围从客户端调用 2 个方法,则单个 SQL 操作也会在失败的情况下回滚。

【问题讨论】:

如果你使用Oracle,只要你不调用commit方法它就会回滚;但是,您应该明确地捕获异常并回滚,这样您就不会锁定数据库。 没有。我没有使用甲骨文。我使用 mssql,并且确实在我的存储过程中调用了提交。 【参考方案1】:

在 WCF 中启用事务是不够的。根据Transactions in WCF Services 示例,您需要执行以下操作:

向服务合同添加事务支持。这是必需的。 为实现服务契约的代码添加事务支持。这是必需的。 在实现代码中配置事务。这是可选的。 在绑定上启用事务。这是必需的。

【讨论】:

以上是关于Wcf 事务和 SQL 存储过程的主要内容,如果未能解决你的问题,请参考以下文章

如何使用存储过程在 LINQ to SQL 中使用事务?

SQL 存储过程入门(事务)

在包含动态 sql 的事务中嵌入对存储过程的调用

雪花存储过程和事务:文档不清楚?

Java数据库连接--JDBC调用存储过程,事务管理和高级应用

SQL SERVER存储过程中使用事务