【问题标题】:Transaction count after EXECUTE a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0EXECUTE 后的事务计数不匹配的 BEGIN 和 COMMIT 语句数。先前计数 = 1,当前计数 = 0
【发布时间】:2016-06-23 10:01:11
【问题描述】:
Create Proc A
    as
    begin
        Begin try
         --Logic Here
         Execute B
        end try
        begin catch
        end catch
    End

上面是我的两个sp

我从 SP A 呼叫 SP B。 在不同的位置有两个不同的数据库。 A sp 在一个位置,B sp 在另一个位置。两个 SP 都通过链接服务器连接。

当我从 Web 服务调用 SP A 时。

在 Web 服务中,我编写了事务的逻辑。 我没有为 SQL 中的事务编写任何逻辑。

在 SP B 中没有写任何逻辑,它只是返回一个值。 链接服务器通信适用于所有其他 SP。 我真的很沮丧,为什么只有一个 SP 会出现这个错误。

【问题讨论】:

    标签: asp.net sql-server c#-4.0 transactions sql-server-2012-express


    【解决方案1】:

    这可能是由几个问题引起的。在您的 CATCH 块中尝试以下脚本。

    BEGIN CATCH
        DECLARE @error INT, 
           @message VARCHAR(8000)
    
        SELECT @error = ERROR_NUMBER(), @message = ERROR_MESSAGE()
    
        RAISERRROR ('Issue', 16, 1, @error, @message)
    END CATCH
    

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 2014-10-25
      • 2016-07-21
      • 2012-02-18
      • 2015-06-23
      • 2015-12-21
      • 2021-05-23
      • 2018-03-11
      • 2016-06-21
      相关资源
      最近更新 更多