gpt4 book ai didi

sql-server - 如何处理SQL Server T-SQL try-catch block 中丢失的客户端连接?

转载 作者:行者123 更新时间:2023-12-03 08:08:51 25 4
gpt4 key购买 nike

由于客户端连接丢失,TSQL BEGIN TRY和BEGIN CATCH块模式不会捕获错误。如何捕获和处理丢失的客户端连接?

我正在设置一个标志,该标志指示在处理单个事务的循环时正在处理,并且catch块会在出错时将该标志重新设置,但是如果客户端连接丢失,我的catch块将不会执行...

伪代码:

BEGIN TRY
SET FlagToIndicateProcessing = 1
LOOP START
BEGIN TRANS
DO WORK
COMMIT TRANS
LOOP END
SetSomeValues
SET FlagToIndicateProcessing = 0
END TRY
BEGIN CATCH
SetSomeValues
SET FlagToIndicateProcessing = 0
END CATCH

最佳答案

正确。

客户端丢失的连接实际上是中止和回滚到SQL Server:您只需停止执行SQL,因此CATCH块将不会执行。

为什么要循环处理单个交易?这可以帮助某人提出解决方案。通常,一个SQL调用是一个工作单元。

关于sql-server - 如何处理SQL Server T-SQL try-catch block 中丢失的客户端连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/795458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com