datasnap xe连接池_Delphi XE FireDac 连接池

本文介绍了在Delphi XE中使用FireDac连接池连接MSSQL数据库的详细步骤。包括在ServerMethods单元中设置FDManager及相关控件,自定义SetupFDManager过程以配置连接池参数,以及在DSServerModule的Create和Destroy事件中激活和释放连接。此外,展示了如何动态创建和使用FDConnection来获取连接池中的连接进行查询操作。
摘要由CSDN通过智能技术生成

在开发Datasnap三层中,使用FireDac 连接  MSSQL数据库。

实现过程如下:

1、在ServerMethods 单元中放入 FDManager、FDPhysMSSQLDriverLink1、FDGUIxWaitCursor1等控件。

2、自定义过程:

private

varoParams: TStrings;

procedure TSrvMethods.SetupFDManager; //加载数据库链接信息。

begin

//*****初始化*****

oParams := TStringList.Create;

//********* 连接池

oParams.Add('DriverID=MSSQL');

//oParams.Add('CharacterSet=utf8');

oParams.Add('Server=192.168.1.199');

//oParams.Add('Port=3306');

oParams.Add('Database=DSCSYS');

oParams.Add('User_Name=sa');

oParams.Add('Password=');

// 毫秒

oParams.Add('POOL_CleanupTimeout=36000');

// 毫秒

oParams.Add('POOL_ExpireTimeout=600000');

//最多连接数

oParams.Add('POOL_MaximumItems=60');

oParams.Add('Pooled=True');

//*******

FDManager.Close;

FDManager.AddConnectionDef('MSSQL_DSCSYS', 'MSSQL', oParams);

try

FDManager.Active := True;

except

on E: Exception do

begin

frmMain.Log.Error(e.Message, 'Error');

end;

end;

end;

3、在 Create 事件中:

procedureTSrvMethods.DSServerModuleCreate(Sender: TObject);beginSetupFDManager;//加载数据库链接

end;

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

function TSrvMethods.QueryData(SQLStr: string): string;varfdqry1: TFDQuery;

mConn: TFDConnection;begin

try

//***动态创建,用完释放;

mConn := TFDConnection.Create(nil);

mConn.ConnectionDefName := 'MSSQL_Conn';

mConn.Connected :=true;

fdqry1 := TFDQuery.Create(nil);tryfdqry1.Close;

fdqry1.Connection :=mConn;

fdqry1.SQL.Clear;

fdqry1.SQL.Add(SQLStr);

fdqry1.Open();

result := '{result:"OK",DataSet:}';

frmMain.Log.Debug('ok', 'debug');finallyfdqry1.Free;

mConn.Free;end;excepton E: Exceptiondo

beginresult := '{Result:"失败 Error:' + e.message + '"}';

frmMain.Log.Debug('NOok', 'debug');end;end;end;

5、在关闭时候,释放创建的对象

procedureTSrvMethods.DSServerModuleDestroy(Sender: TObject);beginoParams.Free;end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值