【问题标题】:FireDac set up a Persistent Connection using a ini fileFireDac 使用 ini 文件设置持久连接
【发布时间】:2020-10-20 15:45:42
【问题描述】:

我想使用带有 FireDac 的 ini 文件与 MySQL 数据库建立持久连接。 我有一个像这样的ini文件,名为a.ini

[fConn]
Database=atom
User_Name=ud...
Password=#####
Server=192.168.20.20
DriverID=MySQL

在DataModule中创建这样的代码

   FDManager.ConnectionDefFileAutoLoad := false;
   FDManager.ConnectionDefFileName := 'a.ini';
   FDManager.LoadConnectionDefFile;
   connection1.ConnectionName := 'fConn';

但是我收到一个数据库错误,即 ud...@localhost with password 是的访问被拒绝我知道当服务器找不到有效用户时添加了 localhost。

手册示例让我们有机会编写 ini 文件,但我只想阅读它。 我的代码有什么问题?我错过了什么? 谢谢你的建议。

【问题讨论】:

标签: mysql delphi c++builder firedac


【解决方案1】:

由于上面的评论,我写了这个和平的代码,希望它会有所帮助。

var
  sr: TStreamReader;
begin


  sr := tStreamReader.Create(TFileStream.Create('at.ini',fmOpenRead),TEncoding.UTF8);

  with connection1 do begin
    Close;
    with Params do begin
       Clear;
       while not sr.EndOfStream do begin
         add(sr.ReadLine);
       end;
    end;
  end;
sr.free;
end

它对我有用。谢谢

【讨论】:

  • 这不是阅读.ini 文件的最佳方式。查看T(Mem)IniFile 及其ReadSectionValues() 方法,例如:ini := TMemIniFile.Create('at.ini',TEncoding.UTF8); with Connection1 do begin Close; Params.Clear; ini.ReadSectionValues('fConn', Params); end; ini.Free;
  • 在任何情况下,所有Params 值都可以在代码中设置,而无需使用.ini 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
相关资源
最近更新 更多