Как настроить пул соединений 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
параметр.
См.: Пул соединений.