No'am Newman
No'am Newman

Reputation: 6477

Unable to run Firebird

I am installing Firebird (v1.5.5 - I know it's old but it works) on a new computer which is running Windows 7. I have installed the classic server version as a service. According to documentation at the Firebird site, I modified the firebird.conf file so that IPCName would be global\FirebirdIPI; I did this while the service was not running.

Despite all my efforts, I have been unable to access any of the databases which I copied to this new computer via ISQL. FWIW, the EMS SQL 2005 manager program is successful in accessing the databases, but this program apparently has a direct method which does not require fbclient.dll.

What else should I be checking?


Update from a few days later. After wasting a great deal of time with Windows 7, we decided to downgrade the computer and run XP. After installing the superserver version of FB 1.5.5, I can run my programs and access the databases which are stored on this computer. Attempts to access the databases from other computers connected on the network failed with a variety of error messages, but normally something like 'i/o error for file !firebird!\db\q400.fdb'.

In order to allow people on the network to continue to access the databases, I revived the NT server and started the Firebird service - and all the programs can access these databases successfully from remote computers!

To simplify matters, there are three computers on the network:

  1. the NT server ('zorcomp'), which is running the Firebird service; the fdb files reside on this computer in a directory called 'db' which sits under a shared directory called 'firebird'
  2. a computer running XP, called 'kivserver', which also has a shared directory called 'firebird' and underneath that a directory called 'programs'. Copies of all the fdb files reside in a directory called 'db'.
  3. a computer running XP, which maps \zorcomp\firebird to disk L: and \kivserver\firebird to disk T. From this computer, I can run a program sitting in T:\programs and get it to access successfully a file sitting in L:\db. If I stop the FB service on zorcomp and start the same service on kivserver, the same program cannot access files sitting in T:\db.

I hope this is clear enough. For the life of me, I can't see any difference between all the files which are residing in \kivserver\firebird to those which are sitting in \zorcomp\firebird - but somehow there is a difference!

Obviously, I don't want this arrangement to continue - the NT server has to be retired honourably.

Further edit. I now have the firebird server running on 'kivserver' (NT). I can access the database files locally.

Computers running Win7 can now access these database files using a connection string \\kivserver\firebird\db\database.fdb.

Computers running XP cannot access these database files, although IIRC wisql did succeed with \\kivserver\firebird\db\database.db.

The NT server has been disconnected from the network. TIA, No'am

Upvotes: 1

Views: 6016

Answers (4)

No'am Newman
No'am Newman

Reputation: 6477

Several months later, the NT server was somewhat abruptly retired when it displayed 'MBR error' on rebooting after someone unlugged it by accident. Thus I was left with no option but to start running the Firebird server program on 'kivserver'. The connection problems returned.

Eventually I was able to solve the problem with the following connection string

10.0.0.202:e:\firebird\db\manager.fdb

where 10.0.0.202 is the ip address of the server, and e:\firebird\db the directory in which the database sits, relative to the server itself.

I hope that someone else, some time, will find this information useful.

Upvotes: 0

avra
avra

Reputation: 3730

If your clients are Windows 7 then you might try to use \\hostname\sharename\filename.fdb instead of drive:\filename.fdb connection string.

Upvotes: 0

Victor Ian
Victor Ian

Reputation: 1070

Try using this to connect to your database:

hostname:drive:\complete path\filename.fdb

or

\hostname\drive\complete path\filename.fdb

May I know the component you're using?

Upvotes: 0

jachguate
jachguate

Reputation: 17203

AFAIK EMS SQL uses fbclient.dll (or a wraper around it).

If the only thing you want is to access the databases, I suggest you to do so using TCP protocol instead of the local protocol. To do it connect like this:

c:\>isql localhost:c:\path\to\db.fdb -u sysdba -p masterkey

Unless you're avoiding TCP or the machine have no local interface enabled, it will do the work for you.

Upvotes: 0

Related Questions