7

DelphiXEProfessionalを持っています。接続プールのサポートを含むユニットを含め、かなりの量のDBXが付属してDBXPoolいますが、XEEnterpriseで提供される完全な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;

編集:誰かが将来これに遭遇し、同じ問題を抱えている場合に備えて、これが正しく機能するように設定する必要がありました。上記の最後の2行の代わりに、

connection.Params.values['DelegateConnection'] := 'DBXPoolConnection';
connection.Params.values['DBXPoolConnection.DriverName'] := 'DBXPool';
connection.Params.values['DBXPoolConnection.MaxConnections'] := '32';

私を正しい方向に導いてくれたSertacに感謝します!

4

1 に答える 1

4

DBXPoolConnectionパラメータに設定する必要がありDelegateConnectionます。

参照:接続プール

于 2012-04-18T23:19:28.310 に答える