Delphi 7 アプリでプーリングを有効にするには、何をする必要がありますか? 私の接続文字列は次のとおりです。
プロバイダー=SQLOLEDB.1;初期カタログ=%s;データ ソース=%s;パスワード=%s;ユーザー ID=%s;OLE データベース サービス=-1
SQLServer:GeneralStatistics UserConnections パフォーマンス カウンターを見ると、接続プールが実行されていないことがわかります。アプリケーションの実行時に激しく変動します。接続プーリングを使用すると、安定した状態になると思います。また、ログイン/秒とログアウト/秒のカウンターが両方とも非常に高いことがわかります。接続プールが使用されている場合、ログアウト/秒はゼロかほぼゼロになります。
検索すると、リソース プールに関する次の記事が見つかりました。
http://www.ddj.com/database/184416942
接続プールを取得するには、「ATL を使用して OLEDB SDK (または COM) レベルで作業している場合は、さらにコードを記述する必要があります」(接続文字列に 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, (short)4); dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033); dbinit.AddProperty(DBPROP_INIT_OLEDBSERVICES, (long)DBPROPVAL_OS_ENABLEALL); HRESULT hr = db .OpenWithServiceComponents(_T("sqloledb"), &dbinit);
残念ながら、そのコードは私にとってギリシャ語であり、それを Delphi に変換する方法がわかりません (または必要な場合でも)。
また、接続文字列をまったく変更しないように注意しています。リソース プールを有効にするために他に何をする必要があるかについて何か提案はありますか?