На SQL Server 2000 нет активных транзакций - PullRequest
0 голосов
/ 25 января 2019

Я имею дело с устаревшим кодом. Есть программа, написанная на vb6. Это подключается к серверу SQL 2000.

Когда транзакция началась, я получаю. Нет транзакции, активная ошибка.

Проблема в том, что эта ошибка возникает только на одном из клиентов. Есть 3 шт. На одном сервере 2 клиента работают просто отлично. Один не

Протокол TCP включен на сервере. Я удалил и установил msdtc на сервер.

Соединение установлено. Другие запросы выполняются просто отлично. Я не уверен, в чем может быть проблема.

1 Ответ

0 голосов
/ 25 января 2019

Если бы у меня была достаточная репутация, я бы добавил это как комментарий вместо ответа ...

Потому что мне не совсем понятно, что вы имеете в виду под словом «Когда транзакция начинается» и какова фактическая ошибка «Нет транзакции - активная ошибка»

Есть несколько настроек, которые можно выполнить для любого соединения. Настройки могут быть частью конфигурации соединения или заданы явно позже. Одна из них - «неявные транзакции». На моих машинах он всегда выключен. Возможно, этот параметр отличается в зависимости от вашей машины.

Чтобы проверить эту теорию, вы можете добавить строку

set implicit_transactions off

или

set implicit_transactions on

как первая строка в пакетной / хранимой процедуре, которая выдает ошибку.

Если это решит проблему, вам следует исправить конфигурацию соединения проблемной машины и изменить пакетную / хранимую процедуру обратно на оригинальную.

...