delphi10.3 FireDac连接MySQL文件(Embedded嵌入式方式)

一、软件版本:

delphi 10.3.3 

FireDac

MySQL 5.7 (32位)MySQL :: Download MySQL Community Servericon-default.png?t=N7T8https://dev.mysql.com/downloads/mysql/

二、具体步骤

1.新建delphi程序,添加TFDConnection、TFDPhysMySQLDriverLink控件

2.在FormShow事件里写入代码(直接设置控件更方便)

procedure TForm1.FormShow(Sender: TObject);
begin
  FDPhysMySQLDriverLink1.VendorLib := ExtractFilePath(ParamStr(0)) + 'data\libmysqld.dll';

  FDPhysMySQLDriverLink1.EmbeddedArgs.Clear;
  FDPhysMySQLDriverLink1.EmbeddedArgs.Text := '--datadir=./data';

  FDConnection1.Params.AddPair('DriverID', 'MySQL');
  FDConnection1.Params.AddPair('Database', 'testutf');
//  经试验,这行utf8代码有没有都一样
//  FDConnection1.Params.AddPair('CharacterSet', 'utf8');
  FDConnection1.Connected := true;

  //有中文的话,需要加上这句话。不然会显示问号
  FDConnection1.ExecSQL('set names utf8;');
end;

或者直接设置控件为:

主要是设置TFDPhysMySQLDriverLink的EmbeddedArgs参数:

--datadir=./data;--skip-innodb;--skip-networking;--character-set-server=utf8
经测试,设置数据文件的路径即可--datadir=./data;

补充:后续使用中,发现mysql报错没有具体错误信息,有错误都这样提示:

mysql_embedded: Unknown error 1146

解决这个问题需要补充一条参数: --language=./data 

然后把mysql按照目录下share\english\errmsg.sys文件复制到data目录即可

关于参数的具体说明,在官方文档有写:Connect to MySQL Server (FireDAC) - RAD Studio

三、环境 

从MySQL安装的根目录复制相关文件(要跟上面控件指定的VendorLib同级目录)

MySQL\lib\libmysqld.dll 放到 ./data目录下。

data目录下新建数据库同名文件夹,把数据文件放到该文件夹下。

代码已打包并上传到https://download.csdn.net/download/MANYOUZSH/88277174

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值