EXECUTE之后的事务计数BEGIN和COMMIT语句的数量不匹配。先前的计数= 1,当前计数= 0

时间:2016-06-23 10:01:12

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

Create Proc A
    as
    begin
        Begin try
         --Logic Here
         Execute B
        end try
        begin catch
        end catch
    End

以上是我的两个sp's

我从SP A 呼叫SP B 。 在不同的位置存在两个不同的数据库。 sp位于一个位置& B sp在其他位置。 SP都通过链接服务器连接。

当我从Webservice呼叫 SP A 时。

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

在SP B中没有写入逻辑,只返回一个值。 链接服务器通信适用于所有其他SP。 我真的非常沮丧为什么只有一个SP出现此错误。

1 个答案:

答案 0 :(得分:0)

这可能是由一些问题造成的。在您的CATCH块中尝试以下脚本。

BEGIN CATCH
    DECLARE @error INT, 
       @message VARCHAR(8000)

    SELECT @error = ERROR_NUMBER(), @message = ERROR_MESSAGE()

    RAISERRROR ('Issue', 16, 1, @error, @message)
END CATCH