Jump to content
muratcelik64

client pc database connection problem with interbase server

Recommended Posts

Hello,
I am developing a program with Delphi 7.
I am using interbase as database.
I used "Zeos7214" component for database connection.

I encountered a problem with the client connection and I could not solve it until today.

What I did on Client PC.
-When I set up an interbase on the Client PC, a database connection is established with the Server PC.
-I removed interbase from Client PC and did the following.
--into C:\Windows\SysWOW64; I manually copied the gds32.dll & ibxml.dll files.
--into C:\Windows\System32; I manually copied the ibxml64.dll & ibclient64.dll files.
--I made the necessary addition to the "services" file in C:\Windows\System32\drivers\etc.
In this way, the Client PC established a database connection with the Server PC.

The problem is;
Although the settings I explained above were made exactly on the Client PC without interbase installed,
“gds32.dll found but couldnot be loaded. Check compile-target and librarycompatibilty." 
gives an error message.

What could be the cause of this error.

I would like to thank all interested users in advance.

Good work everyone.

Note: Translated with google.

Share this post


Link to post

Hello,

 

Are you still using Zeos to access the database? As all works fine it you have IB on the client, I do believe that you are missing some dependencies (like OpenSSL, Visual C runtime, etc) what the installation contains. I have no experience with IB, but Oracle needs a minimum of 3 .dlls for the library to function properly.

 

You can try to copy all libraries from an IB installation to a specific folder, set the LibraryPath to the driver there and attempt to connect. If it works, rename a random file to .old for example and try again. Repeat until nothing else can be renamed without breaking the connection attempt.

it's also possible that the installer puts additional files under any folder in your %PATH% environment variable, even extending it!

  • Thanks 1

Share this post


Link to post
19 hours ago, aehimself said:

Hello,

 

Are you still using Zeos to access the database? As all works fine it you have IB on the client, I do believe that you are missing some dependencies (like OpenSSL, Visual C runtime, etc) what the installation contains. I have no experience with IB, but Oracle needs a minimum of 3 .dlls for the library to function properly.

 

You can try to copy all libraries from an IB installation to a specific folder, set the LibraryPath to the driver there and attempt to connect. If it works, rename a random file to .old for example and try again. Repeat until nothing else can be renamed without breaking the connection attempt.

it's also possible that the installer puts additional files under any folder in your %PATH% environment variable, even extending it!

Hello,
Thank you for your answer.
yes I am using Zeos to access the database. There is no problem with zeos & interbase connection.
When the interbase is established on the client PC,  connection is established with the server PC.
The problem is in connection from client pc to server pc without interbase installed.
Thank you again...

Share this post


Link to post
16 hours ago, programmerdelphi2k said:

temel olarak, Interbase (Firebird < 4.0 olarak) yol ortamında, "system" klasöründe, exe klasöründe gds32.dll dosyasını bulmayı deneyin...

ancak Win 7...10'da gds32.dll (çakışmalar) sorunu var, bu durumda bazen yeniden adlandırmak veya yalnızca EXE klasörüne sahip olmak gerekliydi. (bu Win7'de başladı) XP'de sorun yok

 

https://github.com/FirebirdSQL/firebird/issues/1351

Hello,
Thank you for your answer.
I copied the necessary files on the client pc.
(
--into C:\Windows\SysWOW64; I manually copied the gds32.dll & ibxml.dll files.
--into C:\Windows\System32; I manually copied the ibxml64.dll & ibclient64.dll files.
--I made the necessary addition to the "services" file in C:\Windows\System32\drivers\etc.
)

Thank you again...
 

Share this post


Link to post

Is there a reason why you don't use the original InterBase installer and select Client Only in the Choose Install Set dialog?

Where did you get the information, that the steps you describe are sufficient?

  • Like 1
  • Thanks 1

Share this post


Link to post
23 hours ago, Uwe Raabe said:

Orijinal InterBase yükleyicisini kullanmamanızın ve Kurulum Kümesini Seç iletişim kutusunda Yalnızca İstemci'yi seçmemenizin bir nedeni var mı ?

Tanımladığınız adımların yeterli olduğu bilgisine nereden ulaştınız?

Hello,
Thank you for your answer.
"Where did you get the information, that the steps you describe are sufficient?"
The "Sandboxie.exe" program shows which file an application has loaded on the PC.
Also, I found what I'm missing on the Client PC.
I wrote a separate post to guide other users.
Thank you again...

Share this post


Link to post

correction

I mentioned that the Client PC establishes a database connection with the Server PC.
I guess I rushed.
I formatted the client PC and reinstalled the Windows 10 operating system; I made the previously mentioned copies.
However, the Client PC did not establish a connection and gave an error.
I continue to research.
Thank you to those who are interested in the subject.

 


 

Edited by muratcelik64

Share this post


Link to post
16 hours ago, Hans J. Ellingsgaard said:

Sunucuda 3050 numaralı bağlantı noktası açık mı?

IB Konsolu ile istemciden sunucuya bağlanmayı denediniz mi?

yes, 3050 port is open on server PC.

Share this post


Link to post
16 hours ago, Hans J. Ellingsgaard said:

Sunucuda 3050 numaralı bağlantı noktası açık mı?

IB Konsolu ile istemciden sunucuya bağlanmayı denediniz mi?

there are no obstacles.

Share this post


Link to post

Hello,
The connection of the Client PC with the Server PC has finally been established.
I formatted and tried 2 PCs and got results.
The transactions I made in order;


into the "C:\Windows\System32" directory;
ibclient64.dll
ibxml64.dll
copy the files.

 

into the "C:\Windows\SysWOW64" directory;
gds32.dll
ibxml.dll
mfc120.dll
mfc120chs.dll
mfc120cht.dll
mfc120deu.dll
mfc120enu.dll
mfc120esn.dll
mfc120fra.dll
mfc120ita.dll
mfc120jpn.dll
mfc120kor.dll
mfc120rus.dll
mfc120u.dll
mfcm120.dll
mfcm120u.dll
msvcp120.dll
msvcr120.dll
vcamp120.dll
vccorlib120.dll
vcomp120.dll
copy the files.

I tried it on Win10 and Win11 OS and it worked.

Good work everyone.


Note: Sandboxie-Classic-x64-v5.61.6.exe helped me a lot. 

(translated with google)

 

Share this post


Link to post

That's because you're not using the installer. You did not write a version of IB. When you do something manually, it's good to be prepared for such surprises. You can search for a program that tells you the dependencies of gds32.dll. They are mostly on MS runtimes. In your case, maybe just copying msvcr120.dll would help, but that depends on the version and installed packages of Windows. You should also look at the log of the Windows programs, it also sometimes says which package is missing. In addition to these dlls, it is good to put an interbase.msg file... In general, either install the IB client or copy these files to the folder of your program. Because you may have a problem with different client versions for IB or Firebird, for example, on this computer

  • Like 1
  • Thanks 1

Share this post


Link to post

Hello,
The program works as I explained above.
I could try *.dll files one by one and remove the unnecessary ones.
I didn't want to leave my job to chance.
interbase uploads these files to the relevant directory itself.
The program works fine for me.

Share this post


Link to post

I use Interbase, and I require these files on the client side.

 

Install if not installed already.:  vcredist_x64.exe or vcredist_x86.exe

The main folder of the YourPrg.exe  ibclient64.dll or gds32.dll.

 

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×