Subject Re: Trouble with Gbak on Vista
Author Adam
--- In firebird-support@yahoogroups.com, "stewartwarren"
<stewartwarren@...> wrote:
>
> I have Firebird 1.5.4 running on a Vista machine. I'm calling gbak
> from a C++ Builder program. Initial error message was "system can't
> find fbclient.dll".

When you say you are calling gbak from your program, are your actually
calling gbak in the path it was installed (eg %Program
Files%\Firebird\Firebird_1_5\bin\) or are you copying gbak.exe to your
own path and executing that? If you are copying it to some other
folder, you will need to understand that it is not a stand-alone
independent application. It does need fbclient.dll (not sure whether
you need the other dlls too).

> I located this file in the Firbird folder and
> copied it to the System32 folder.

Microsoft are trying to discourage that sort of thing. You will find
they virtualised this call and you actually copied it to somewhere
beneath documents and settings.

The problem (not so much with Firebird but with shared dlls in
general) is that you get dll hell when some application goes and
installs an antiquated version of the dll over the top of 'yours'.
Windows will always try to load the dll from the current directory
before running through %PATH% (which is where it finds %SYSTEM32%).

> On next call, I get the error
> message "unavailable database". I verified the Firebird server was
> running as a Service. Any ideas what might cause this error?

A couple of possibilities, but without seeing the parameters you fed
gbak, it is hard to say. Incidentally, have you attempted to run gbak
from the command line with whatever parameters you wanted rather than
your application?

I doubt that local connections will work in Vista under 1.5, so make
sure you use a TCP/IP connection string like [hostname]:[alias/path].
It it is the local PC, use 127.0.0.1 as Vista might try IPv6.

Next, you will need to make sure you have allowed connections to port
3050 or to the firebird server process (fbserver or fb_inet_server
depending on what you installed) through the firewall. You should be
able to use any third party database admin tool to confirm that your
firebird installation is working correctly, or even
telnet 127.0.0.1 3050
should return an empty screen, not a message that the host actively
refused the connection.

Adam