Delphi XE10 FireDAC 连接池详细配置

步骤一

先建一个数据库的文本参数文件,文件名FDDrivers.ini,存放在执行文件所在目录,内容以oracle为例如下:

[Oracle_Pool]
DriverID=Ora
Database=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.220)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)))
User_Name=test
Password=test
CharacterSet=UTF8
Pooled=true
这里Pooled=true是不能少的,是连接池里的关键设置哦

注:也可以直接在程序Create创建时直接赋值。

步骤二

在数据模块里,放置FDManager1控件,并将其ConnectionDefFileName指向FDDrivers.ini文件,如D:\FDmanager\Win32\Debug\FDDrivers.ini,并把Active设为true

步骤三

在数据模块里里,放置FDPhysOracleDriverLink,并将其VenderLib指向oracle的库文件D:\FDmanager\Win32\Debug\oci.dll,这里要说明的是,需要四个库文件:oci.dll,oraocci11.dll,oraociei11.dll,orasql11.dll,这些文件全部都放在执行文件所在目录。

步骤四

放置FDGUIxWaitCursor在数据模块里

步骤五

放置数据库连接控件FDConnection,在数据模块里,并将其ConnectionDefName指定为FDDrivers.ini文件中的第一行中的名称,可以下拉选的

步骤六

这样设置好后,在窗口代码里,就可以按如下调用:

procedure Tfrm1.Button2Click(Sender: TObject);
begin
 if not dm.FDConnection1.Connected then
   dm.FDConnection1.Connected := True;
   with dm.FDQuery2 do
   begin
       close;
       sql.Clear;
       sql.Add('select count(*) num from base_tab ');
       open;
   end;
   Label2.Text:=dm.FDQuery2.FieldByName('num').AsString;
    dm.FDConnection1.Connected := False;
end;

注意,这里的dm.FDConnection1.Connected := True就是在连接池里获取一个连接,而dm.FDConnection1.Connected := False;则是归还一个连接,不是断开,


原文作者:广州雨儿
原文:https://blog.csdn.net/zcpxieqing/article/details/50033633

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容