looking for fbclientd20.dll and fbclientd.dll

Forum related to Firebird

Moderators: gto, cipto_kh, EgonHugeist

Post Reply
solook
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 20.09.2008, 13:12

looking for fbclientd20.dll and fbclientd.dll

Post by solook »

hello


i want to use firebird-2.0 ...

when i connect to database show this error
non of the dynamic liberallys can be found:fbclientd20.dll and fbclientd.dll


so i want that two dlls ...

where can i find thats ?
seawolf
Zeos Dev Team *
Zeos Dev Team *
Posts: 385
Joined: 04.06.2008, 19:50
Contact:

Post by seawolf »

I think you have installed Firebird embedded, right?
You have to rename fbembed.dll to fbclientd20.dll or fbclientd.dll
Anyway, when you install Zeos, trere's a folder called libraries\firebird\win32\2.0 ... where you can find that dlls
solook
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 20.09.2008, 13:12

Post by solook »

thanks alot ....
i didnt find any libraries\firebird\win32\2.0 in ZEOSDBO-6.6.4-stable

i thins this folder is on other file..

so give me a link to download that
solook
Fresh Boarder
Fresh Boarder
Posts: 9
Joined: 20.09.2008, 13:12

Post by solook »

User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Best place to find up-to-date dll's is always in the distributions of the database. We don't officially distribute them because it's almost impossible to stay up-to-date.

Mark
Image
Lutz.H
Fresh Boarder
Fresh Boarder
Posts: 8
Joined: 05.02.2009, 11:29

embedded wants exact directory

Post by Lutz.H »

As i also got problems with this error
non of the dynamic liberallys can be found:fbclientd20.dll and fbclientd.dll
although i put the librarys nearly everywhere ...

o in the database directory
o in the application directory
o in the windir\system32 directory
and so on ...

i made the following change in the file ZConnection.pas:

Code: Select all

procedure TZConnection.Connect;
var
//Local variables declared in order to preserve the original property value
//and to avoid the storage of password
  Username, Password: string;
  DirOrg, DirDB : string ;

begin
  if FConnection = nil then
  begin
// Fixes Zeos Bug 00056
//    try
      DoBeforeConnect;
//    except
//This is here to support aborting the Connection in BeforeConnect event without fatal errors
//      on E: EAbort do
//        Exit;
//    end;

    UserName := FUser;
    Password := FPassword;

    // ### LH - 21.04.2009 set CurrentDirectory to Database-Directory
    // otherwise causes problems when working with Firebird-embedded
    // if (csDesigning in ComponentState) then
    if (true) then
    begin
      DirOrg := GetCurrentDir() ;
      DirDB  := ExtractFileDir(FDataBase) ;
      SetCurrentDir(DirDB) ;
    end ;
    // -### LH end

    if FLoginPrompt then
    begin
      { Defines user name }
      if UserName = '' then
        UserName := FProperties.Values['UID'];
      if UserName = '' then
        UserName := FProperties.Values['username'];

      { Defines user password }
      if Password = '' then
        Password := FProperties.Values['PWD'];
      if Password = '' then
        Password := FProperties.Values['password'];

      if Assigned(FOnLogin) then
        FOnLogin(Self, UserName, Password)
      else
      begin
        if Assigned(LoginDialogProc) then
        begin
          if not LoginDialogProc(FDatabase, UserName, Password) then
            Exit;
        end
        else
          raise Exception.Create(SLoginPromptFailure);
      end;
    end;

    ShowSqlHourGlass;
    try
      FConnection := DriverManager.GetConnectionWithParams(
        ConstructURL(UserName, Password), FProperties);
      try
        with FConnection do
        begin
          SetAutoCommit(FAutoCommit);
          SetReadOnly(FReadOnly);
          SetCatalog(FCatalog);
          SetTransactionIsolation(FTransactIsolationLevel);
          Open;
        end;
      except
        FConnection := nil;
        raise;
      end;
    finally
      HideSqlHourGlass;
    end;

    // ### LH - 21.04.2009 set CurrentDirectory to Database-Directory
    // otherwise causes problems when working with Firebird-embedded
    // if (csDesigning in ComponentState) then
    if (true) then
    begin
      SetCurrentDir(DirOrg) ;
    end ;
    // -### LH end

    if not FConnection.IsClosed then
      DoAfterConnect;
  end;
end;
Now it works perfect with the librarys ONLY in the database directory.
seawolf
Zeos Dev Team *
Zeos Dev Team *
Posts: 385
Joined: 04.06.2008, 19:50
Contact:

Post by seawolf »

Do you have this problem only with embedded version? Have you tried with Firebird server version?
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Does the problem you have only occur at design time, so within the running IDE? In that case the dll's are probably needed in the directory your IDE is running from.
Otherwise, I wonder if your solution is a safe one. Isn't it possible some users have one dll for all their embedded databases? In that case it's not possible to use your patch. Generally I would say : it's up to the developper to make sure a dll is available.

Mark
Image
Post Reply