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に感謝します!