当前位置: 首页 > 知识库问答 >
问题:

如何在没有事务的情况下使用SET XACT_ABORT ON

狄易安
2023-03-14

我有一个链接服务器,正在尝试删除链接服务器中的表中的某些内容。我正在使用transaction并尝试在存储过程中捕获,如下所示。

BEGIN TRY
BEGIN TRANSACTION
DELETE FROM [server].[database].[dbo].[Table]
.
.
.
COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT(ERROR_MESSAGE())
ROLLBACK TRANSACTION
END CATCH

使用此代码,我在事务中有许多插入和删除。它给出了这个错误:链接服务器“服务器”的OLE DB提供程序“SQLNCLI11”返回消息“没有事务处于活动状态”。

我了解到,如果我在它上面使用SET XACT_ABORT,它将丢弃任何进程,如果它在运行时遇到任何错误,它将自动回滚。

我尝试在没有事务的情况下使用SET-XACT_ABORT。它正在工作,但没有回滚。

共有1个答案

晏经武
2023-03-14

代码中有两次回滚事务。一旦提交,它将无法找到任何要回滚的活动事务。删除第一个回滚事务并检查。

 类似资料:
  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?

  • 问题内容: 我在整个应用程序中都使用spring 。现在,我也想为一个没有的创建一个。那有可能吗? 问题答案: JPA要求每个实体都有一个ID。因此,不可以,没有ID的实体是不允许的。 每个JPA实体都必须有一个主键。 从JPA规范 您可能想从这里阅读更多有关JPA如何处理数据库端没有ID的情况的信息(请参阅“无主键”)。

  • 我正在尝试将使用webpack转译. vue文件的Vue项目的绝对最低示例放在一起。 我的目标是详细了解每个构建步骤。大多数教程建议使用并使用config。尽管这种设置很有效,但对于我的简单目的来说,似乎有些过头了。目前,我不想要babel、linting或带有热模块重新加载的实时web服务器。 一个简单的例子,只需就可以了!Webpack将vue库和我自己的代码编译成一个包。 但现在,我想将vu

  • 我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?

  • 问题内容: 我需要使用(在AngularJS中)列出数组中的所有元素。 复杂的是,数组的每个元素都将转换为表的一,两或三行。 我不能创建有效的html(如果用于元素上),因为和之间不允许使用任何类型的重复元素。 例如,如果在上使用ng-repeat ,我将得到: 无效的html。 但是我需要生成的是: 其中第一行由第一个数组元素生成,接下来的三行由第二个数组生成,第五行和第六个由最后一个数组元素生