Subject Re: [firebird-support] Re: Trouble with Gbak on Vista
Author Helen Borrie
At 08:05 AM 11/12/2007, you wrote:

>I've got two apps trying to access the firebird database. The main
>app accesses the db OK. I take that to mean the server is running OK
>and TCP port 3050 is not being block by a firewall.
>
>The second app is just a visual interface to gbak to give the user a
>button click approach to backups and restores. That's why the
>message "unavailable database" threw me. With Interbase, that
>message usually meant the Interbase server process was not running.

This isn't a question of InterBase vs Firebird but is due to the fact that command shells in Vista run as remote desktop clients.


>The backup app is not running gbak in its install directory, but in
>another directory where we manually copied the gbak.exe file to. We
>also manully copied the fbclient.dll file to the System32 directory.

Do make sure that gbak is using the correct client. It will use fbclient.dll if it is in the same directory as gbak.exe (normally the \bin\ directory of a server installation). If you have your old IB gds32.dll client in \System32\ there is a risk that gbak will find it before it finds fbclient.dll.


>The gbak parameters were written for interbase 5.6 version of gbak
>which didn't accept long Windows filenames, as I recall. So gbak
>would be invoked as:
>
>gbak -B -b C:\Datdir~1\datafile.gdb C:\Datdir~1
>\Backups\backfil.bac -user uname -password theword
>
>With the firebird version of gbak:
>Can it take the long filenames?

Yes, usually.

>Should I use the localhost or 127.0.0.1 as part of the file path?

Vista might not let you use localhost/127.0.0.1. If not, use the server's network node name. But yes, from a RDT client you must use a network protocol AND invoke the Services Manager.


>For example, would this be correct:
>gbak -B -b localhost:C:\My LongDir Name\datafile.gdb localhost:C:\My
>LongDir Name\Backups\backfile.bac -user uname -pasword theword

No. (and -password switch has 2 s's).

gbak -b -se Nodename:service_mgr C:\My LongDir Name\datafile.gdb C:\My
LongDir Name\Backups\backfile.bac -user uname -password theword

You can double-quote the paths if your Windows installation baulks about spaces in directory names, e.g.,

gbak -b -se Nodename:service_mgr "C:\My LongDir Name\datafile.gdb" "C:\My
LongDir Name\Backups\backfile.bac" -user uname -password theword

I don't know whether the space-thing is even an issue on Vista. But I follow the practice of NEVER placing databases in directories with non-transportable names. I use lower-case ascii-compliant names for directories so that I can transplant structures across operating systems without breaking applications...

./heLen