|
Организация пула соединений в управляемом поставщике данных OLE DB
Организация пула соединений в управляемом поставщике OLE DB значительно
отличается от таковой в управляемом поставщике SQL Server. Контроль за пулом со-
единений проводится нижележащим поставщиком OLE DB (а не управляемым по-
ставщиком ADO.NET) с помощью класса OleDbConnection. Этот процесс должен
быть абсолютно прозрачен для разработчика ADO.NET, за исключением статического
метода OleDbConnection.ReleaseObjectPool ( ) , который оповещает нижележащего
поставщика OLE DB о том, что приложение какое-то время не будет обращаться к ис-
точнику данных и что после возвращения в пул всех соединений его можно удалить.
Подобное поведение помогает поставщику OLE DB более эффективно уничтожать пул
соединений. В связи с тем, что у пула и у каждого из хранящихся в нем соединений
есть определенное "время жизни", пул не может быть уничтожен до истечения этого
времени. Уничтожение пула можно ускорить, вызвав метод ReleaseObjectPool ( ) .
Предоставляемые службы Значение параметра
OLE DB Services
Все службы (по умолчанию) -1
Все службы, кроме механизма организации пула соединений и автоматического свя- -4
зывания транзакций
Все службы, кроме механизма клиентского курсора -5
Все службы, кроме механизма организации пула соединений, автоматического связы- -8
вания транзакций и механизма клиентского курсора
Только службы организации пула соединений и автоматического связывания транзак- 3
ций (агрегирование на уровне сеансов)
Сл/жбы OLE DB не используются О
Поставщик OLE DB поддерживает несколько служб, включая механизм организа-
ции пула соединений (называемый в данном случае механизмом организации пула ре-
сурсов (resource pooling)), автоматическое связывание транзакций и механизм кли-
ентского курсора. Активизировать или деактивизировать эти службы позволяет
ключ реестра OLEDB_SERVICES. Поскольку изменение ключа реестра влияет на все
приложения, находящиеся на данном компьютере, для изменения этих настроек луч-
ше использовать параметр строки соединения OLE DB Services, возможные значе-
ния которого приведены в табл. 2.4.
Ниже приведен пример деактивизирования механизма организации пула соедине-
ний и автоматического связывания транзакций.
OleDbConnection conn = new
OleDbConnection("Server=localhost;" +
"OLE DB Services = -4 ; " -t-
"Integrated Security=true");
conn.Open();
Использование параметров строки соединения — это единственный способ контроля
за службами OLE DB. Несмотря на возможность использования OLE DB-метода
iDatalnitialize: :GetDataSource ( ) , это представляется целесообразным только
в случае непосредственного вызова OLE DB или его вызова из поставщика OLE DB.
Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (3 - 1 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|