odbc Ошибка соединения с драйвером sql сервера - PullRequest
6 голосов
/ 17 февраля 2011

У меня есть интерфейс Access 2003 с SQL 2005.Иногда пользователи получают сообщение об ошибке ниже и происходит сбой внешнего интерфейса.Любые указатели относительно того, как я могу решить эту проблему?

[ODBC SQL Server Driver] Communication link failure

Ответы [ 4 ]

2 голосов
/ 17 февраля 2012

По поиску и чтению, которое я провел по этой теме, мне кажется, что это может быть просто ошибкой в ​​MS Access, которую они никогда не пытались исправить, т. Е. Там не имеет разрешения.

Симптомы, которые я вижу и которые, похоже, наблюдаются у других, заключаются в том, что подключение Access к SQL Server становится «плохим», и как только оно достигнет этого состояния, ничего не исправит, кроме перезапуска Access, точка.Хотя это утомляет человека, это вполне возможно - если код, связанный с управлением соединением (либо в самом MS Access, либо в провайдере ODBC), не проверяет достоверность состояния соединения и всегда предполагает, что это нормально, то мыбудет точно видеть симптомы, которые мы видим .

Можно подумать, что Microsoft наверняка исправит это, но это будет не в первый раз.

Обновление

Я вижу такое же поведение при использовании проекта Microsoft Access (* .adp), поэтому проблема, по-видимому, связана с самим MS Access (а не только с ODBC).

0 голосов
/ 25 июля 2015

была та же ошибка:

НАБЛЮДЕНИЯ: - настроить базу данных доступа, связанную с таблицами MSSQL на работе - из дома, по VPN, не смог открыть ни одной таблицы - каждый раз получал эту ошибку - из DSN сделал тестовое соединение и все нормально - пинговал имя хоста сервера MSSQL, используемого в DSN, и он пинговал нормально - Однако, когда я заменил имя хоста сервера в DSN на IP и перезапустил доступ, все работало нормально.

ЗАКЛЮЧЕНИЕ: - Я не уверен, использовал ли он вместо этого IP-адрес или изменил настройки DSN и сохранил, что перевернуло коммутатор где-то, но это сработало ... надеюсь, мне не придется часто повторять ... посмотрим ...

НТН

0 голосов
/ 10 августа 2012

Я видел такое поведение с транзакциями блокировки. Вот пример того, как это может произойти:

BeginTrans

'Insert/Update/Delete record in table Employees:
CurrentDb.Execute "DELETE * FROM Employees WHERE EmpID=1"

'Attempt to read from Employees table before committing; Access hangs
Set rs = CurrentDb.OpenRecordset("Employees")

CommitTrans

Обходной путь должен либо:

  • прочитайте то, что вам нужно, из таблицы сотрудников перед совершением или
  • зафиксируйте вставку / обновление / удаление перед попыткой чтения из таблицы сотрудников.
0 голосов
/ 30 декабря 2011

Согласитесь с вышеприведенными комментариями, похоже, проблема в том, что клиент теряет связь с сервером. если вы используете имя хоста для сервера, я бы порекомендовал использовать IP-адрес, потому что это чисто DNS-проблема, которая решит ее, если такая работа сработает, тогда это проблема в сети, такая как потеря пакетов или проблемы с перегрузкой сервера или что-то в этом роде. это направление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...