MySQL ODBC ошибка "сервер ушел" - PullRequest
3 голосов
/ 20 октября 2010

Время от времени мы видим ошибку на страницах ASP:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][MyODBC 5.00.11][MySQL] 2006 MySQL server has gone away

Мы справляемся с ней наилучшим образом, как в ASP, но она все еще возникает.Я думаю, что это больше связано с драйвером ODBC MySQL, чем код ASP.Мы никогда не видим этого в PHP-коде, который мы также запускаем на одном и том же сервере IIS, однако PHP повторно подключается при каждом запуске, тогда как я считаю, что драйвер ODBC подключается один раз и остается подключенным.

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

Может кто-нибудь объяснить, почему это происходит и как уменьшить количество раз, когда это происходит?

Ответы [ 3 ]

0 голосов
/ 20 октября 2010

Не уверен насчет ASP, но в Java / Tomcat / DBCP у нас есть возможность вставить простой тестовый оператор (такой как SELECT 1) в пулы соединений до фактического получения соединения.Может быть, в ASP тоже есть что-то похожее?

0 голосов
/ 01 сентября 2013

Проблема в том, что время соединения истекло. Это не настройка, которую вы можете изменить на уровне ODBC. Я обошел его, опрашивая соединение каждые 10 секунд простым запросом. Это поддерживает связь.

0 голосов
/ 20 октября 2010

Проверьте эту ссылку, которая дает несколько причин для этой ошибки. Надеюсь, это поможет вам -

http://dev.mysql.com/doc/refman/5.0/en/gone-away.html

...