2011-08-10 4 views
0

무료 DBX 드라이버를 here에서 다운로드했습니다.무료 DBX 드라이버를 TSQLConnection과 함께 사용할 때의 문제

저는 이틀이 지난 지금 성공하지 않으려 고합니다.

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를 사용하고 있지 않습니다.

그래서 여기서 어떻게됩니까? 델파이 2009에 최신 업데이트가 있습니다.

감사합니다.

+0

누구나 해당 구성 요소에 성공 했습니까? 내가 그것에 대해 들어 본 모든 것은 문제가있는 사람들입니다. –

+0

먼저 * .ini 파일과 함께 작동하도록 시도했지만 너무 많은 게시물이 포함되지 않도록 시도하면서 실패했습니다. [여기에 하나 있습니다] (https://forums.embarcadero.com/message.jspa?messageID=20783) 같은 스레드. –

+0

나는 ini와 함께 그것을 시도했다, 나를 신뢰해라. .. 그러나 팁에 감사드립니다. 나는 포기하기로 결심했으며, 문제없이 작동하는 devart (현재 시험 사용 중)의 상업용 솔루션을 사용했습니다. – Wodzu

답변

0

또한 실행 파일과 동일한 폴더에 fbclient.dll 파일을 넣으려고 했습니까?

+0

예, 실행 파일 경로에 라이브러리가 필요합니다. – Wodzu

0

경우에 따라 fbclient.dll의 이름을 gds32.dll로 변경해야 할 수도 있습니다. 트릭을 할 수 있습니다.