Solved

installation of firebird 2 client for Delphi application

Posted on 2008-06-10
21
1,603 Views
Last Modified: 2013-12-09
I have installed a Firebird superserver on a machine
I plan to write a client application running on other networked machines that will need to access the Firebird database
The application is written in Delphi using Interbase component (I already succeeded this with the Firebird embedded server but now this application of for multi-users)
What exactly do I have to copy on the client machine and where ?
Can I avoid to run an "installer" ?
Thanks
0
Comment
Question by:LeTay
  • 11
  • 8
  • 2
21 Comments
 
LVL 14

Expert Comment

by:Daniel Junges
ID: 21758497
0
 

Author Comment

by:LeTay
ID: 21759151
I want to use the Interbase components, native in Delphi
But for this some Firebird client files must be installed on the client PC
My question is which ones ?
The references you provide do not answer this question..
0
 
LVL 14

Expert Comment

by:Daniel Junges
ID: 21759292
0
 
LVL 2

Accepted Solution

by:
Ustin19 earned 500 total points
ID: 21766599
for native usage: deploy GDS32.DLL to client's system32 and all will work fine
0
 

Author Comment

by:LeTay
ID: 21766984
Well, I have copied gds32.dll in the client system32 but I still get an error message when starting the .exe (I translate, it is in french) Interbase DLL gds32.dll not found in the path. Please install Interbase to use this functionality
???
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767337
try put gds32.dll into directory with exe
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767369
try to deploy with exe (to the exe folder):
fbclient.dll
ib_util.dll
icudt30.dll
icuin30.dll
icuuc30.dll
msvcp71.dll
msvcr71.dll
and rename fbclient.dll to gds32.dll
This files located in "C:\Program Files\Firebird\Firebird_2_0\bin\"
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767387
any registry\system installations NOT requires
0
 

Author Comment

by:LeTay
ID: 21767432
Tried. I get exactly the same message (gds32.dll not found in the path)
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767546
try explicitly choose tibdatabase.libraryName (if it is possible to use FIB) or look to IBHeader.pas and explicitly choose gdi32.dll (if it is not).
Then it may be corrupted gdi32.dll (code of loading is very simple)
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 2

Expert Comment

by:Ustin19
ID: 21767549
 IBLibrary := LoadLibrary(PChar(IBASE_DLL));
  if (IBLibrary > HINSTANCE_ERROR) then <some getprocaddress calls, one of them fails>. So check version
0
 

Author Comment

by:LeTay
ID: 21767649
Well, the gdi32.dll I put on the client is the one I found on the server where I installed the full thing.
LibraryName is not a property of TIBDatabase (Turbo Delphi 2006).
Info : the application runs fine on the server itself, and also on another client where I installed Firebird client only using the installer of Firebird. But I want to avoid having to do this (except if not possible otherwise), and "deliver" just what is needed (I like installers that just need to copy a few files)
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767807
try to deploy firebird.msg near gds32.dll (or near executable)
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21767859
GDI32.DLL is my mistyping!
Have just trided on clear windows: copying firebird.msg & fbclient.dll to the folder with application solves described problem
0
 

Author Comment

by:LeTay
ID: 21768321
Yes of course, gds32.dll, not gdi
I copied everything but the message is still the same : Interbase DLL gds32.dll not found etc...
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21769305
gds32 imports:
ADVAPI32.dll KERNEL32.dll MPR.dll MSVCR71.dll USER32.dll WS2_32.dll
if MSVCR71.dll does not exists (you may have troubles with environment variables) - create it or put into same dir with gds32 and exe.
Also it can needed to have record in C:\WINDOWS\system32\drivers\etc\services:
gds_db 3050/tcp
so, last chance is using instreg.exe from C:\Program Files\Firebird\Firebird_2_0\bin\ :(

BTW, is exe run from you account? does it have correct permissions (this is for cleaning of conscience only)?
0
 

Author Comment

by:LeTay
ID: 21769415
All these DLL are present (I copied the msvcr71.dll manually)
The problem is NOT that the exe can't connect to a Firebird server because the error message is displayed when the .exe loads
The exe I wrote does NOT connect to the DB when it starts, this is done later on, on user action...
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21769792
During initialization tIBDatabase calls LoadIBLibrary from IBIntf, which creates this exception /it is DELPHI EXCEPTION, no static imports from GDS32 presents in  your exe.
Detailed analize shows, that this type of exception seldom appears (where i use t(f)ibdatabase in widows services), solution is force copy gds32.dll to global environment var %path% and (very seldom) reboot server (use on w2k3) {sorry 4 my english}
0
 
LVL 2

Expert Comment

by:Ustin19
ID: 21769820
try to use instreg.exe, i'm so interesting in result :)
And what happens, if you use FIB* components instead IB*? FIB* compatible with IB* and have a lot of features (poor that it is shareware AFAIK)
0
 

Author Comment

by:LeTay
ID: 22902643
I found what the problem is : the gds32.dll or some depending other dll gives a kind of "access denied" when trying to open it !
That gave the error
0
 

Author Closing Comment

by:LeTay
ID: 31465737
Also other DLL have to be deployed and it works fine
Thanks !
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
Creating and Managing Databases with phpMyAdmin in cPanel.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now