Subject RE: RE: Re: [firebird-support] Unable to get Firebird ODBC driver working in 64-bit
Author Helen Borrie
At 01:53 p.m. 10/11/2013, you wrote:

>After getting the laptop going, I can build the perl script, but I will still need to run this on a server.
>I tried the exact same database definition that worked on the laptop to the server script. Still breaks. It's back to doing what it did before, complaining that gds32.dll failed to load.

Assuming you don't mean "database definition" but "database path", your problem on the server seems to be related to your client configuration there. Keep reading this right to the end.

>Do I need the 64-bit or the 32-bit driver?

So far, I don't think you have mentioned anywhere what the OS platform is. My comments assume is it 64-bit of some sort. If not, then all comments about 64-bit vs 32-bit are irrelevant.

The bitness of the interface layers depends on the application's bitness (the Perl script engine you have installed on the server). Use 32-bit all through the client layers (driver and fbclient.dll) if the Perl engine is 32-bit. Use 64-bit driver and fbclient.dll if the Perl engine is 64-bit.

You indicated earlier that the Fbserver.exe is 32-bit. That's fine. A 64-bit client layer works with it. **Just don't try mismatching the bitness of the pieces of your client layer. **

Note that the 32-bit Firebird kit doesn't supply a copy of the 64-bit fbclient.dll. You will have to pick up the latest v.2.1.5 64-bit zip kit from the Firebird Downloads site and extract the 64-bit client from the \bin\folder there. Copy it into the Windows folder.

>At 11:07 a.m. 10/11/2013, you wrot e:
>>I really don't know anything about Firebird, please disregard my comment about "embedded."

OK, so be prepared for your script to fall over if it was written on the assumption that all SQL is like Esperanto. A lot of SQL Server's SQL is non-standard. Just sayin'.

>>The fbclient.dll is 440 KB.
>>I don't see any file named fbembed.dll. There is a file named fbserver.exe that's 2,660KB

That is the Superserver executable. It is a full server. The embedded server (fbembed.dll) is not distributed with the full server kits. It has its own download and its components are always installed manually in an application-specific file structure.

>in the same folder where I found fbcllient.dll.

Some of the client tools that ship with Fb use fbclient.dll and just find it right there. Other tools and drivers, you have to tell them how to find it. Either use the PATH environment variable and put it right at the beginning; or put a copy of the bitness-correct fbclient.dll in the appropriate system folder.

(On a 64-bit Windows, the 64-bit dlls go into the Windows folder and 32-bit dlls into \Windows\sysWOW64; nothing in \Windows\system32.)

>>Also, I see a Windows service running listed as "Firebird Super Server 2.1.1"...
>>Does this indicate a full server install?

Yes (as mentioned above). The other "full server" model is Classic, whose executable name is fb_inet_server.exe. That's just for information.

Helen Borrie, Support Consultant, IBPhoenix (Pacific)
Author of "The Firebird Book" and "The Firebird Book Second Edition"