You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以嵌入式模式连接FireDAC与Firebird 4数据库(无需服务器)

Delphi/FireDAC 连接 Firebird 4 嵌入式数据库(免服务、可便携)

一、准备必要文件

从Firebird 4的压缩包(非安装版)中提取以下文件,和你的Delphi程序可执行文件放在同一目录(比如U盘根目录):

  • fbclient.dll(注意匹配程序的32/64位架构,32位程序用32位dll,64位同理)
  • firebird.msg
  • ib_util.dll
  • ICU依赖库:icudt68.dll、icuin68.dll、icuuc68.dll
  • 你的Firebird数据库文件(.fdb格式)

二、配置FireDAC连接

核心是让FireDAC启用嵌入式模式,避免尝试连接系统服务,具体配置如下:

可视化配置(IDE中操作)

  1. 拖放TFDConnection组件到窗体,设置DriverName为FB
  2. 打开ConnectionParams编辑器,添加/修改以下参数:
    • Database:直接指定数据库文件路径(支持相对路径,比如.\mydata.fdb,确保程序能访问到)
    • User_Name:默认SYSDBA(可按需修改)
    • Password:默认masterkey(正式环境务必修改)
    • Embedded:设为True
    • Protocol:设为Local(可选,强制本地连接逻辑)

代码配置(动态创建连接)

procedure TForm1.FormCreate(Sender: TObject);
begin
  FDConnection1.DriverName := 'FB';
  FDConnection1.Params.Clear;
  FDConnection1.Params.Add('Database=.\mydata.fdb');
  FDConnection1.Params.Add('User_Name=SYSDBA');
  FDConnection1.Params.Add('Password=masterkey');
  FDConnection1.Params.Add('Embedded=True');
  FDConnection1.Params.Add('Protocol=Local');
  try
    FDConnection1.Connected := True;
    ShowMessage('连接成功');
  except
    on E: Exception do
      ShowMessage('连接失败:' + E.Message);
  end;
end;

三、关键注意事项

  • 架构匹配:必须保证程序编译位数(32/64)和所有Firebird依赖dll的位数完全一致,否则会出现加载失败或连接错误。
  • 文件完整性:不要遗漏任何依赖文件,尤其是ICU库,缺失会导致Firebird核心功能无法启动。
  • 路径权限:确保U盘所在路径有读写权限,避免因Windows权限限制导致数据库无法打开或写入。
  • 避免服务冲突:如果目标系统已安装Firebird服务,优先保证程序目录下的fbclient.dll被加载(Windows会优先加载程序当前目录的dll),或者暂时停止系统中的Firebird服务。
  • 数据库创建:如需动态创建数据库,同样启用嵌入式参数,执行CREATE DATABASE语句即可,无需依赖服务。

内容的提问来源于stack exchange,提问作者Jared Davison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 13:15:23