Sqlconnection不支持并行事务

时间:2010-01-23 12:11:09

标签: sql-server sql-server-2005

我想同时运行两个交易。所以我在MSDN文章中指定的连接字符串中给出了MultipleActiveResultSet = false。但在修改连接字符串后,我得到“目标机器被主动拒绝”。我正在与WCF合作。

这有什么想法吗?

谢谢。

4 个答案:

答案 0 :(得分:4)

我的印象是,MARS只适用于在单个连接上获得多个仅向前只读结果集的特殊情况,但常规操作必须有自己的连接。

答案 1 :(得分:2)

你能解释一下你想要做什么吗?

事务是原子的并且是隔离的(因此每个连接都是有效的)。对于一个连接/会话,您不能同时执行2个事务:它没有任何意义

答案 2 :(得分:1)

您确定“目标机器被主动拒绝”与并行交易有关吗?

通常意味着机器没有收听你想要与之交谈的端口。

答案 3 :(得分:0)

我犯了这个错误:

SqlConnection Con=new SqlConnection(_myConString);
SqlTransaction tr=Con.CreateTransaction();
tr=Con.CreateTransaction();

第2行和第3行正在创建交易。因此我收到了错误。我纠正了,问题解决了。

结论:在完成正在运行的事务之前调用CreateTransaction会导致上述异常。