将自由DBX驱动程序与TSQLConnection结合使用时出现问题

时间:2011-08-10 08:52:31

标签: delphi database-connection delphi-2009 firebird dbx

我从here下载了免费的DBX驱动程序。

我试图让它工作两天,但没有成功。

以下是我的代码的快照:

unit uMainForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, SqlExpr, WideStrings, DBXDynalink, DB;

type
  TMainForm = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.Button1Click(Sender: TObject);
var C: TSQLConnection;
begin
  C := TSQLConnection.Create(Self);
  try
    C.DriverName := 'FirebirdConnection';
    C.LibraryName := 'dbxfb4d12.dll';
    C.VendorLib := 'fbclient.dll';
    C.GetDriverFunc := 'getSQLDriverFIREBIRD';
    C.Params.Add('User_Name=SYSDBA');
    C.Params.Add('Password=masterkey');
    C.Params.Add('Database=C:\MyDB.fdb');
    C.Open;
    if C.Connected then
      ShowMessage('Connection is active')
  finally
    C.Free;
  end;
end;

运行测试后,我收到错误:“无法加载fbclient.dll(ErrorCode 22)。系统路径中可能会丢失。”

我在应用程序路径中需要库,我甚至在System32路径中也有它们。我没有使用dbxdrivers.ini和dbxconnections.ini。

那么这里发生了什么?我有最新更新的Delphi 2009。

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

您是否也尝试将fbclient.dll文件放在与可执行文件相同的文件夹中?

答案 1 :(得分:0)

有时需要将fbclient.dll重命名为gds32.dll。它可能会成功。