【问题标题】:Delphi 2010: Firebird dbExpress Error Unable to load dbxfb4d14.dllDelphi 2010:Firebird dbExpress 错误无法加载 dbxfb4d14.dll
【发布时间】:2011-07-30 20:30:07
【问题描述】:

我刚刚从 google code site 下载了 Chee-Yang Chau 的 dbExpress Driver for Firebird

我加载了 Delphi 2010 演示项目并尝试运行它并立即收到无法加载 dll 错误:



INI 文件

[Installed Drivers]
FirebirdConnection=1

[火鸟连接] ;DriverUnit=DBXInterBase ;DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver120.bpl ;DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borland.Data.DbxCommonDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b ;MetaDataPackageLoader=TDBXInterbaseMetaDataCommandFactory,DbxInterBaseDriver120.bpl ;MetaDataAssemblyLoader=Borland.Data.TDBXInterbaseMetaDataCommandFactory,Borland.Data.DbxInterBaseDriver,Version=12.0.0.0,Culture=neutral,PublicKeyToken=91d62ebb5b0d1b1b GetDriverFunc=getSQLDriverFIREBIRD 库名=dbxfb4d14.dll VendorLib=C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll BlobSize=-1 提交保留=假 数据库=数据库.gdb 错误资源文件= 区域代码=0000 密码=主密钥 角色名=角色名 服务器字符集= SQL方言=3 Interbase TransIsolation=ReadCommited 用户名=sysdba WaitOnLocks=真 Trim Char=False

德尔福代码

procedure TMainForm.Button1Click(Sender: TObject);
var C: TSQLConnection;
begin
  C := TSQLConnection.Create(Self);
  try
    C.DriverName := 'FirebirdConnection';
//    C.LibraryName := 'dbxufb40.dll';
//    C.VendorLib := 'C:\Program Files\Firebird\Firebird_1_5\bin\fbclient.dll';
//    C.GetDriverFunc := 'getSQLDriverFIREBIRD';
    C.Params.Add('User_Name=SYSDBA');
    C.Params.Add('Password=masterkey');
    C.Params.Add('Database=localhost:%ProgramFiles%\Firebird\Firebird_1_5\examples\employee.fdb');
    C.Open;
    if C.Connected then
      ShowMessage('Connection is active')
  finally
    C.Free;
  end;
end;
我注意到 ini 文件中的库名称 dbxfb4d14.dll 与实际的 dll 名称 dbxfb4d15.dll 不匹配,因此我修改了 ini 文件,使其与dll。

现在我收到一条错误消息,提示找不到 dbxfb4d15.dll

我做错了什么?

【问题讨论】:

    标签: delphi delphi-2010 firebird dbexpress


    【解决方案1】:

    Delphi 2010 确实需要 d14 版本。d15 版本适用于 XE。不知道为什么 zip 中只有 d15 版本。

    DLL 不在您的 DLL 搜索路径中。获得正确的 DLL 后,您需要确保它在路径上。

    浏览过这个组件后,我不相信它是非常完美的。如果您负担得起,强烈推荐使用 Devart 驱动程序。

    【讨论】:

    • 谢谢。您是如何发现 d15 适用于 XE 而 d14 适用于 2010 的?另外,我查看了 Devart 的 Firebird 订单页面,它描述了 MySql dbExpress 驱动程序。我给他们发了一封电子邮件。 devart.com/dbx/interbase/ordering.html
    • 我刚刚阅读了自述文件并看到了对 d14 的引用。与单个 VCL 组件或 dbExpress 组件相比,您是否偏好 Unidac 哪个 Devart 组件看起来更通用?
    • 只需给 Devart 发送电子邮件。他们最了解他们的产品。他们会给你中肯的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多