Delphi 10 FireDac 连接池设置


本文整理自网络,侵删。

 
使用FireDac 连接  MySQL数据库,参考官方帮助文档 

http://docwiki.embarcadero.com/RADStudio/XE7/en/Multithreading_(FireDAC),

实现过程如下:

1、在DataModule界面上 放置一个  FDManager 控件;

2、在 Create 事件中:

procedure TDM.DataModuleCreate(Sender: TObject);
 
var
 
    oParams: TStrings;
 
begin 
  //*****初始化*****
  oParams := TStringList.Create;
  //********* 连接池
    oParams.Add('DriverID=MySQL');
    oParams.Add('CharacterSet=utf8');
    oParams.Add('Server=localhost');
    oParams.Add('Port=3306');
    oParams.Add('Database=dbname');
    oParams.Add('User_Name=dbuser');
    oParams.Add('Password=password');
    //  毫秒
    oParams.Add('POOL_CleanupTimeout=36000');
    //  毫秒
    oParams.Add('POOL_ExpireTimeout=600000');
    //最多连接数
    oParams.Add('POOL_MaximumItems=60');
    oParams.Add('Pooled=True');
    //*******
    FDManager1.Close;
    FDManager1.AddConnectionDef('MySQL_Pooled','MySQL',oParams);
    FDManager1.Active := True;
end;


3、在查询使用中,动态生成FDConnection,设置Connected为true 就是  从连接池中取一个连接;具体代码如下:

function QueryData( SQLStr:String):String;
var
  fdqry1 : TFDQuery;
  mConn: TFDConnection;
begin
    Try
    //***动态创建,用完释放;
    mConn := TFDConnection.Create(nil);
    mConn.ConnectionDefName := 'MySQL_Pooled';
    try
      fdqry1 := TFDQuery.Create(nil);
      fdqry1.Close;
      fdqry1.Connection := mConn;
      mConn.Connected := true;
      fdqry1.SQL.Clear;
      fdqry1.SQL.Add(SQLStr);
      fdqry1.Open();
      result:='{result:"OK",DataSet:'+DataSetToJSONStr2(fdqry1)+'}';
    finally
      fdqry1.Free;
      mConn.Free;
    end;
 
  Except
    On E:Exception do
    begin
      result:='{Result:"失败 Error:'+e.message+'"}';   
    end;
  End;
 
end;
4、在关闭时候,释放创建的对象
procedure TDM.DataModuleDestroy(Sender: TObject);
begin 
   oParams.Free;
end;

――――――――――――――――

原文链接:https://blog.csdn.net/jhzhao2001/article/details/79059062

相关阅读 >>

Delphi保存网页中的图片

Delphi 显示提示信息xxx 是/否

Delphi 内存管理[3]

Delphi的几种类型转换

Delphi xe2创建apple ios程序

Delphi 窗体的位置和高宽度-tform:letf、top、width、height、clientwidth、clientheight

Delphi datetimepicker控件日期格式

Delphi 禁止用户关闭操作系统

Delphi 利用51.la统计程序使用量

Delphi中strtodatetime函数tformatsettings参数的使用

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...