Subject | RE: [firebird-support] Can't open a DB with FB 1.5.1 Classic |
---|---|
Author | Helen Borrie |
Post date | 2006-05-12T23:20:11Z |
At 07:56 AM 13/05/2006, you wrote:
client called gds32.dll in the %windir%\system32 directory. By
default, Fb 1.5.3 provides a client called fbclient.dll located in
firebird's \bin directory. So first check that there is a valid
gds32.dll there.
You need to run the instclient.exe program from the command line to
generate a Borland-friendly version of fbclient.dll that is 1) named
gds32.dll and 2) located in the system directory.
Downloads|database engine page of the Fb website). Two years ago
Classic on Windows was new and experimental. The release notes then
were fairly scrappy, too. There have been two sub-releases since
1.5.1. Read the v.1.5.3 Bug Fixes section and consider the wisdom of
trying to use such an old version of Firebird.
Check the inline help for instclient.exe (just run instclient.exe
from the command line with no switches). Also read (in the \docs
directory) the document called README.Win32LibraryInstallation.txt.
Earlier you wrote:
localhost:C:\Program Files\Firebird\Firebird_1_5\security.fdb
127.0.0.1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
G7-850-1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
They each give me:
Unknown database. Unable to complete network request to host "localhost".
Failed to establish a connection.
The system could not find the environment option that was entered.
With localhost you are (logically) making a remote connection. This
requires username and password in the connection parameters. It's
possible (without being certain) that the engine knows enough about
localhost to search for the environment variables ISC_USER and
ISC_PASSWORD if you don't supply them as connection parameters, as it
does with a Windows-local connect. In any case, these are not set by default.
The other environment variable Fb 1.5.3 might be interested in is
FIREBIRD, which you also need to set yourself if you want it to be
used. It has to be a local physical path that points to the
directory above firebird's \bin directory, i.e. the firebird
root. The thing is, though, I'd be suspicious that the BDE driver
might be interfering with this and trying to use an old INTERBASE
variable left defined on your system.
All that said, I simply don't know if it is possible to use the BDE
with Classic, given that the Interbase driver has no knowledge of Classic....
And, just to get even more pernicketty, I see you are trying to
connect to security.fdb. In 1.5, the server process (fb_inet_server
in the case of Classic) holds a write lock on the security
database. If the BDE is trying to access it with a read-write
transaction (the BDE default), it will be denied. Have you tried
connecting to employee.fdb instead?
./heLen
> >Disable the Guardian service - it doesn't play nice with Classic.
> > > localhost:C:\Program Files\Firebird\Firebird_1_5\security.fdb
> > > 127.0.0.1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
> > > G7-850-1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
> > >
> > > They each give me:
> > >
> > > Unknown database. Unable to complete network request to host
> > "localhost".
> >
> > Errr... there's supposed to be a master server running which
> > clones off a client server for each connection - the release
> > notes explain it better than I can. Is that running?
> >
> >
>
>When I look in the services I see both of these running.
>
>Firebird Guardian - DefaultInstance
>Firebird Server - DefaultInstance
>Is there something else that should be running?You mentioned that you are using the BDE. It's expecting to find a
client called gds32.dll in the %windir%\system32 directory. By
default, Fb 1.5.3 provides a client called fbclient.dll located in
firebird's \bin directory. So first check that there is a valid
gds32.dll there.
You need to run the instclient.exe program from the command line to
generate a Borland-friendly version of fbclient.dll that is 1) named
gds32.dll and 2) located in the system directory.
>I'll check release notes.But use the release notes for 1.5.3 (downloadable from the
Downloads|database engine page of the Fb website). Two years ago
Classic on Windows was new and experimental. The release notes then
were fairly scrappy, too. There have been two sub-releases since
1.5.1. Read the v.1.5.3 Bug Fixes section and consider the wisdom of
trying to use such an old version of Firebird.
Check the inline help for instclient.exe (just run instclient.exe
from the command line with no switches). Also read (in the \docs
directory) the document called README.Win32LibraryInstallation.txt.
Earlier you wrote:
localhost:C:\Program Files\Firebird\Firebird_1_5\security.fdb
127.0.0.1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
G7-850-1:C:\Program Files\Firebird\Firebird_1_5\security.fdb
They each give me:
Unknown database. Unable to complete network request to host "localhost".
Failed to establish a connection.
The system could not find the environment option that was entered.
With localhost you are (logically) making a remote connection. This
requires username and password in the connection parameters. It's
possible (without being certain) that the engine knows enough about
localhost to search for the environment variables ISC_USER and
ISC_PASSWORD if you don't supply them as connection parameters, as it
does with a Windows-local connect. In any case, these are not set by default.
The other environment variable Fb 1.5.3 might be interested in is
FIREBIRD, which you also need to set yourself if you want it to be
used. It has to be a local physical path that points to the
directory above firebird's \bin directory, i.e. the firebird
root. The thing is, though, I'd be suspicious that the BDE driver
might be interfering with this and trying to use an old INTERBASE
variable left defined on your system.
All that said, I simply don't know if it is possible to use the BDE
with Classic, given that the Interbase driver has no knowledge of Classic....
And, just to get even more pernicketty, I see you are trying to
connect to security.fdb. In 1.5, the server process (fb_inet_server
in the case of Classic) holds a write lock on the security
database. If the BDE is trying to access it with a read-write
transaction (the BDE default), it will be denied. Have you tried
connecting to employee.fdb instead?
./heLen