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