Что нужно сделать, чтобы включить пул в приложении Delphi 7? Моя строка подключения:
Поставщик = SQLOLEDB.1; Начальный каталог =% s; Источник данных =% s; Пароль =% s; ID пользователя =% s; Службы OLE Db = -1
Я могу сказать, что пул соединений не достигается, глядя на счетчик производительности SQLServer: GeneralStatistics UserConnections - он сильно колеблется при запуске моего приложения. С пулом соединений я ожидал, что он достигнет устойчивого состояния. Кроме того, я вижу, что оба счетчика Logins / sec и Logouts / sec очень высоки - если бы использовался пул соединений, Logouts / sec был бы равен нулю или близок к нему.
В процессе поиска я нашел эту статью о пуле ресурсов:
http://www.ddj.com/database/184416942
Он предполагает, что «Если вы работаете на уровне OLEDB SDK (или COM) с использованием ATL, вам нужно написать еще код» (помимо добавления OLE Db Services = -1 в строку подключения), чтобы получить пул подключений:
CDataSource db; CDBPropSet dbinit (DBPROPSET_DBINIT);
dbinit.AddProperty (DBPROP_AUTH_USERID, "MyName); dbinit.AddProperty (DBPROP_INIT_DATASOURCE," MyServer); dbinit.AddProperty (DBPROP_INIT_CATALOG, "MyDb); dbinit.AddProperty (DBPROP_INIT_PROMPT, (короткий) 4); dbinit.AddProperty (DBPROP_INIT_LCID, (длинный) 1033); .OpenWithServiceComponents (_T ("sqloledb"), & dbinit);
К сожалению, этот код для меня греческий, и я не уверен, как перевести его на Delphi (или, если это вообще необходимо).
Я также стараюсь вообще не менять строку подключения. Есть какие-нибудь предложения о том, что еще мне может понадобиться для включения пула ресурсов?