Мы используем ADO для доступа к Oracle 10g, выпуск 2, поставщик Oledb для Oracle 10g. Мы столкнулись с некоторой проблемой с пулом соединений. База данных находится на удаленной машине, и пул соединений происходит как следует. Но если по какой-либо причине удаленная машина отключается, соединение возвращается из пула, и запрос по этому соединению не выполняется. Когда это соединение закрыто, оно возвращается обратно в пул, а не становится недействительным. Последующие запросы на открытие соединения являются успешными, но запрос не выполняется. Это странное поведение, согласно спецификациям OLEDB, провайдер должен поддерживать свойство DBPROP_CONNECTIONSTATUS, поэтому в случае неправильного соединения оно не будет возвращено обратно в пул.
Вещи устают, когда появляется удаленная машина. Соединения в пуле по-прежнему недействительны, и, хотя открытие соединения успешно, запрос на соединение не выполняется. Oracle OLEDB больше не может подключиться к серверу, и мы должны перезапустить наше приложение. Ну, это нежелательно, потому что наше приложение является критическим приложением.
Любые идеи о том, как преодолеть это.
Спасибо
Mubashir