【问题标题】:Sqlconnection does not support parallel transactionsSqlconnection 不支持并行事务
【发布时间】:2010-01-23 12:11:08
【问题描述】:

我想同时运行两个事务。因此,我在 MSDN 文章中指定的连接字符串中给出了 MultipleActiveResultSet = false 。但是在修改连接字符串后,我得到“目标机主动拒绝”。我正在使用 WCF。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: sql-server sql-server-2005


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      事务是原子的和隔离的(每个连接都非常有效)。您不能为一个连接/会话同时执行 2 个事务:这没有任何意义

      【讨论】:

      【解决方案3】:

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

      这通常意味着机器没有在你试图与之通信的端口上监听。

      【讨论】:

      • 是的。如果我从连接字符串中删除 MultipleActiveResultSet 条目,一切正常。
      • 你能把连接字符串贴出来(没有c密码)吗?
      • 好吧,我现在觉得我的问题很荒谬。问题在于代码逻辑。对不起。
      【解决方案4】:

      我犯了这个错误:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多