Тайм-аут соединения в ODBC - PullRequest
4 голосов
/ 22 февраля 2010

Я знаю, что могу установить тайм-аут соединения для MS SQL Server при использовании ADO или OLE DB, добавив Connect Timeout = somevalue к строке соединения.

Это, похоже, не работает для соединений ODBC. В частности, мы приняли решение использовать стандартный драйвер ODBC для SQL Server, который поставляется с Windows XP (SQLSRV32.DLL версия 2000.85.1132.00) вместо нового собственного клиента SQL, и именно с этим драйвером соединение всегда прерывается на 15 секунд независимо от настройки Время ожидания подключения .

Кроме того, по истечении этого времени я получаю две ошибки. Первый - это тайм-аут, а второй - «Неверный атрибут строки подключения», поэтому я думаю, что Connect Timeout - это не то, что мне нужно. Последняя подсказка о том, что мне не хватает сюжета, пришла из этой несколько устаревшей статьи: http://msdn.microsoft.com/en-us/library/ms811006.aspx

Кто-нибудь знает, есть ли способ указать время ожидания подключения в строке подключения для стандартного драйвера ODBC для SQL Server?

1 Ответ

7 голосов
/ 28 января 2011

Вы можете установить время ожидания соединения, установив атрибут соединения SQL_ATTR_CONNECTION_TIMEOUT с помощью SQLSetConnectAttr .

Вы можете установить время ожидания запроса оператора, установив атрибут оператора SQL_ATTR_QUERY_TIMEOUT с помощью SQLSetStmtAttr () .

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