gpt4 book ai didi

SQL Server、远程存储过程和 DTC 事务

转载 作者:行者123 更新时间:2023-12-04 01:00:31 24 4
gpt4 key购买 nike

我们的组织在大型机 Adabas 数据库中拥有大量重要数据。我们可以通过 ODBC 访问这些数据,并且从 C# 使用 ODBC/Natural“存储过程”成功地查询/更新了它。

我们现在希望能够从 SQL Server 2005 存储过程中查询大型机表,将结果转储到表变量中,对其进行处理,然后将结果与 native SQL 数据作为结果集连接起来。

当我们只是选择它时,从 SQL 执行 Natural proc 工作正常;然而,当我们将结果插入到表变量中时,SQL 似乎正在启动一个分布式事务,而这反过来又似乎对我们的连接造成了严重破坏。

鉴于我们不执行更新,是否可以关闭此 DTC 升级行为?

有关正确设置 DTC 以与 DataDirect(以前称为 Neon Systems)Shadow ODBC 驱动程序对话的任何提示?

最佳答案

退房 SET REMOTE_PROC_TRANSACTIONS OFF 这应该禁用它。
sp_serveroption 一般配置链接服务器,而不是按批次配置。

因为您是在 MS SQL 端编写代码,所以您启动了一个事务。
默认情况下,无论是否需要,它都会升级。
即使表变量不参与事务。

我之前遇到过类似的问题,其中 MS SQL 端的行为会根据 MS SQL 是否写入、在存储过程中和其他内容而有所不同。我发现的最可靠的方法是对我的 Sybase 链接服务器使用动态 SQL 调用...

关于SQL Server、远程存储过程和 DTC 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115873/

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