Page 1 of 1

looking for fbclientd20.dll and fbclientd.dll

Posted: 08.03.2009, 15:42
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 ?

Posted: 08.03.2009, 22:17
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

Posted: 09.03.2009, 04:04
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

Posted: 09.03.2009, 14:58
by solook

Posted: 20.03.2009, 22:51
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

embedded wants exact directory

Posted: 21.04.2009, 14:46
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.

Posted: 22.04.2009, 20:49
by seawolf
Do you have this problem only with embedded version? Have you tried with Firebird server version?

Posted: 03.05.2009, 23:34
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