muratcelik64 0 Posted February 20, 2023 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
aehimself 399 Posted February 20, 2023 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! 1 Share this post Link to post
programmerdelphi2k 237 Posted February 20, 2023 basically, Interbase (as Firebird < 4.0) try found gds32.dll on path environment, on "system" folder, on exe folder... but Win 7...10 has problem with gds32.dll (conflicts) then sometimes was necessary rename it or have it only EXE folder. (this started on Win7) on XP it's ok https://github.com/FirebirdSQL/firebird/issues/1351 1 Share this post Link to post
muratcelik64 0 Posted February 21, 2023 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
muratcelik64 0 Posted February 21, 2023 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
Uwe Raabe 2064 Posted February 21, 2023 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? 1 1 Share this post Link to post
muratcelik64 0 Posted February 22, 2023 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
muratcelik64 0 Posted February 22, 2023 (edited) 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 February 22, 2023 by muratcelik64 Share this post Link to post
Hans J. Ellingsgaard 21 Posted February 22, 2023 Is port 3050 open on the server? Have you tried to connect from the client to the server with IB Consol? 1 Share this post Link to post
programmerdelphi2k 237 Posted February 23, 2023 are you sure that "Firewall/Antivirus" dont block it (any IP/Port)? 1 Share this post Link to post
muratcelik64 0 Posted February 23, 2023 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
muratcelik64 0 Posted February 23, 2023 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
muratcelik64 0 Posted February 23, 2023 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
tgbs 16 Posted February 23, 2023 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 1 1 Share this post Link to post
muratcelik64 0 Posted February 25, 2023 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
skyzoframe[hun] 4 Posted May 26, 2023 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