我正在处理一些旧代码。有一个用vb6编写的程序。连接到sql server2000。
开始事务时,我收到“没有事务处于活动状态”错误。
问题是仅在其中一个客户端上会发生此错误。一台服务器3台,2台客户端工作正常。一个没有。
在服务器上启用了TCP协议。我已经在服务器上卸载并安装了msdtc。
已建立连接。其他查询执行得很好。我不确定可能是什么问题。
答案 0 :(得分:0)
如果我有足够的声誉,我会将此添加为评论而不是答案...
因为我不清楚您对“交易开始时”的含义以及“没有交易有效的错误”的实际错误是什么
在任何连接上都可以进行一些设置。这些设置可以是连接配置的一部分,也可以在以后明确设置。其中之一是“隐式交易”。在我的机器上,它始终设置为“关闭”。也许此设置在您的计算机之间有所不同。
要检验该理论,您可以添加一行
set implicit_transactions off
或
set implicit_transactions on
作为批处理/存储过程中引发错误的第一行。
如果这可以解决问题,则应修复有问题的计算机的连接配置,并将批处理/存储过程更改回原始版本。
答案 1 :(得分:0)
如果这些服务器相互通信,则必须在主机文件中定义dns信息。您可以检查出来。