![]() |
Timeout Задолбался! Как в билдере контроллировать таймаут соединения к удаленной БД??? Если сервер упал или его просто выключили, это чудо пытается 80 секунд установить соединение, а для меня - это невозможная задержка. Конкретно к Informix, если это имеет какое-то значение. цепляюсь через odbc, интерсолвовский драйвер и т.п.. Читаю help, слово timeout в Developing Database Applications встречается только в разделе TADOConnection, а я его не использую. |
У тебя есть понятие ConnectionString? Так вот один из параметров ConnectionString а должен быть TimeOut-ом. |
Quote:
|
черт всюду обман :( |
А ты попробуй коннект с отдельного треда. |
Quote:
Чего-то щас нарыл в ODBC API. Копаюсь дальше... |
Quote:
|
Quote:
Если я буду удерживать трэд 80+ секунд, это значит, что клиент у меня на сайте нажмет кнопку и будет 80+ секунд ждать ответа в случае если у меня плановая остановка сервера или [не дай бог] сервер БД упал. Ты знаешь много людей, которые будут 80+ секунд сидеть и ждать ответа от сайта??? Кавказ, знаешь ли :) Народ тут нетерпеливый... Цигиль-цигиль... Трэд живет 10 секунд (даже 20-25, но никак не 80) и баста, мне надо укладываться в этот срок. |
Вот чего я нарыл в MSDN-е. Повоевал с борландом, и он мне это дело наконец-то побилдил. Но на SQLSetEnvAttr этот гад вылетает... Воюю... Code: SQLHENV henv; |
Quote:
Значит у тебя веб приложение. Так, если это не cgi-ка а модуль сервера, то есть более оригинальное и красивое решение: создаешь thread safe pool коннектов с повторным использованием и коннект будет моментальным. |
Quote:
|
Quote:
У тебя классическая трехзвенная модель? web client <-> web server <-> application (CGI/SAPI) <-> database ? или чтот то типа web client <-> web server <-> application (CGI/SAPI) <-> application server <-> database ? Еще вопрос: web server Apache или IIS и платформа win/UNIX ? Чем вызван выбор informix-а? Насколько я знаю, наличие connection timeout-а в ODBC зависит от провайдера ODBC и его может не быть. |
Quote:
Есть вполне конкретно определенная задача - установить соединение с определенным таймаутом удаленным сервером Informix через ODBC средствами Borland C++ Builder 6. |
Quote:
http://www.sql.ru/forum/actualthread.aspx?tid=43020 В любом случае советую в приложении иметь connection pool с уже готовыми коннектами с базой и отдавать их клиенту по мере необходимости. В трехзвенках все (и я тоже) так делают. Проверено, коннект происходит моментально (т.к. приложение просто отдает уже готовый connection). |
Quote:
2. На informix-овском форуме дана информация не для клиента, а для настроек сервера, типа сколько держать "мертвый" коннект. У меня как раз такая ситуация, каковая описана в последнем постинге того топика, ссылку на которую ты дал. 3. Насчет connection pool - опять повторю, не поможет это. Моя прога работает круглосуточно, а сервер в течении дня планово закрывают firewall-ом, бывает что перезагружают и так далее. Connection pool сдохнет. |
All times are GMT. The time now is 08:07. |
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.