WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  знатокам COM

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   знатокам COM
necer опубликован 01-02-2002 11:54 MSK   Click Here to See the Profile for necer   Click Here to Email necer  
В программе используется несколько ADO Connection (ODBC -> SQL Server). Так вот, проблема в следующем: при отключении любого соединения, в случае, если остаются активные соединения, разъединение происходит не сразу, а через некоторое время (~1.2 мин.). Если же в течение этого времени создать новое соединение (с этим же сервером), то выполнение sql происходит в контексте предыдущего (якобы завершенного) соединения. Получается, что соединение как бы кешируется. А если завершить все соединения, то отключение происходит практически моментально. Предполагаю, что дело тут в свойствах COM объектов. Но вот как это победить? Перерыл кучу литературы и хелпов - безрезультатно. Был бы очень признателен за любую помощь.
necer опубликован 07-02-2002 16:02 MSK     Click Here to See the Profile for necer  Click Here to Email necer     
Значит, отвечаю сам себе, может и еще кому-нибудь пригодится. :)
Источником проблем оказался... ODBC Connection pooling. Решается это изменением т.наз. CPTimeout значения для каждого ODBC драйвера. Изменять можно с помощью ODBC Administrator или в реестре HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/Driver_Name. После этого еще требуется и перезагрузка системы, если я правильно понял выражение: "Changes to this setting will not take effect until the pool is released, and you might need to reboot your machine to put your changes into effect". :-)
Если кого-то заинтересуют подробности, почитать можно на http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wp/htm/poolingmicrosoftdataaccesscomponents.asp

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.