gpt4 book ai didi

delphi - 如何在代码中设置 DBX 连接池?

转载 作者:行者123 更新时间:2023-12-03 14:54:04 28 4
gpt4 key购买 nike

我有 Delphi XE Professional。它附带了大量的 DBX 功能,包括包含连接池支持的 DBXPool 单元,但它没有 XE Enterprise 中提供的完整 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;

编辑:以防将来有人遇到此问题并遇到同样的问题,以下是我必须如何设置它才能使其正常工作的方法。而不是上面的最后两行,

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

感谢 Sertac 让我走上了正确的道路!

最佳答案

您需要将DBXPoolConnection设置为DelegateConnection参数。

参见:Connection Pooling .

关于delphi - 如何在代码中设置 DBX 连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com