SQL事务提交使连接处于损坏状态(c#)

时间:2012-12-03 16:30:02

标签: c# sql sql-server-2008 database-connection clr4.0

短: 在调用transaction.Commit()之后,下一个操作将失败,就好像事务未提交一样。

更多详情: 我们有一个线程对数据库运行写查询,其中一些被封装在一个事务中。 在一段时间后运行较重的负载时,我们遇到一种情况,即提交事务后的操作失败并显示一个错误,指示事务正在进行中,这取决于提交后执行的操作,我们收到以下错误之一:

下一步操作是'开始交易:

  

...连接不支持并行事务......

下一步操作是插入/更新/删除

  

ExecuteNonQuery需要命令   当分配给命令的连接在a中时,有一个事务   等待本地交易。命令的Transaction属性   尚未初始化。

通过调试器检查Sql Connection对象显示它包含一个'sqlInnerTransaction'对象,其父对象设置为null。 我们知道对“提交”的调用已成功完成且没有错误 运行.net 4.0,SQL Server 2008 R2 SP2

1 个答案:

答案 0 :(得分:6)

看着这条消息:

  

Connection不支持并行事务

我想知道你是否在多个线程中使用单个连接对象?

连接不是线程安全的。您只应在创建它们的线程中使用它们。