私はDelphi XE Professionalを持っています。これには、接続プーリングのサポートを含むDBXPool
ユニットを含むかなりの量のDBXが付属しますが、XE Enterpriseに完全なDBXサポートはありません。特に、多くの設計時サポートは存在しません。コードでDBX接続プーリングを設定するにはどうすればよいですか?
私は特に気にしません。私は接続プーリングが必要になるまで、私が必要としていたすべてのものを、それなしでやり遂げることができました。今私はそれを働かせようとしているし、それをうまく動作させる方法を理解できない。 DBXPool
を自分のプログラムに追加して、それが初期化されていることを確認することができますが、データベースリクエストを作成すると、TDBXPoolConnection.Create
は呼び出されません。
ここに、BeforeConnectイベントハンドラの接続用のセットアップコードがあります。私が間違ってやっていることを誰もが知っているし、それを正しくする方法は?
procedure TMyDataModule.connectionBeforeConnect(Sender: TObject);
begin
connection.DriverName := 'Firebird';
connection.Params.Values['User_Name'] := FUserName;
connection.Params.Values['Password'] := FPassword;
connection.Params.Values['Database'] := FDatabasePath;
connection.Params.Values['ServerCharSet'] := 'UTF8';
connection.Params.values['DelegateName'] := 'DBXPool';
connection.Params.values['DelegateConnection.MaxConnections'] := '32';
end;
EDIT:誰もが将来的にこの出くわすと同じ問題を抱えている場合は、ここで私はそれが正しい動作させるためにそれを設定しなければならなかった方法です。上記の最後の2行ではなく、
connection.Params.values['DelegateConnection'] := 'DBXPoolConnection';
connection.Params.values['DBXPoolConnection.DriverName'] := 'DBXPool';
connection.Params.values['DBXPoolConnection.MaxConnections'] := '32';
正しいコースに私を置いてくれてありがとう!
このユニットはXE Proに付属している間は機能しません(DBXライブラリ/ dllはこのSKUでこの機能を有効にしていないためです)。 –
私はこれまで類似していませんでしたが、 'v read私は "DelegateConnection"パラメータを思い出します。 [Here](http://docwiki.embarcadero.com/RADStudio/ja/Connection_Pooling_%28Delegate_Drivers_tutorial%29)には、 'DBXPoolConnection'が割り当てられている必要があります。 –
@セクタック:ああ!それが私が欠けていたものです。私はそれを読んでいましたが、どの部分がどこに適用されたのかはよくわかりませんでした。私は今働いている。ありがとう!それを回答として投稿すれば、私はそれを受け入れます。 –