Как настроить пул соединений DBX в коде?

У меня есть Delphi XE Professional. Он поставляется с достаточным количеством материала DBX, в том числе DBXPool модуль, который поддерживает пул соединений, но не имеет полной поддержки DBX, которая входит в XE Enterprise. В частности, большая часть поддержки времени разработки не существует.

Я не особо против этого. Я мог делать все, что мне было нужно, без него, до тех пор, пока мне не понадобился пул соединений. Сейчас я пытаюсь заставить это работать, и я не могу понять, как заставить это работать. Я могу добавить 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;

РЕДАКТИРОВАТЬ: В случае, если кто-то сталкивается с этим в будущем и возникнет та же проблема, вот как я должен был настроить его, чтобы он работал правильно. Вместо последних двух строк выше,

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

Спасибо Sertac за то, что поставили меня на правильный путь!

1 ответ

Решение

Вам нужно установить DBXPoolConnection в DelegateConnection параметр.

См.: Пул соединений.

Другие вопросы по тегам