Subject Re: [firebird-support] Can't open firebird database files from a windows service.
Author Helen Borrie
>> We're in the process of changing an application that accesses a Firebird database file from a regular application to a windows
>> service. For legacy reasons this uses the Firebird embedded DLL (fbclient) for version 1.5.6.

At 09:05 a.m. 10/07/2014, Ivan Přenosil Ivan.Prenosil@... [firebird-support] wrote:

>Include computer name in your db connect string.

Not supported in v.1.5 embedded - uses the old-style "Windows-local" connection (IPCServer).

>The code that attempts to connect to
>> this file always succeeds as a user-type application but fails when run as a service. I don't think it should be a problem with
>> file access permissions because this same service is able to read and write other kinds of files. Are there any special
>> permissions or configuration issues I might be missing?

You might like to try reconfiguring the IPCName parameter in firebird.conf, to test whether your app expects the old InterBase/Fb 1.0 setting. In Firebird 1.5.x, the default value of IpcName is FirebirdIPI. In Firebird 1.0.x, it was
InterbaseIPI. Stop the service before doing the change and restart afterwards.

Another thought: if your app used to return error messages, are you sure you have fixed up your error-trapping procedures to take account of the lack of connection with the desktop?

What does "fails when run as a service" actually mean? How can you tell? Do you see anything interesting in firebird.log?

And you do know, I suppose, that embedded in v.1.5 does not support multiple connections. Are you sure the database isn't already attached to another process when you try to start your embedded service?


Helen Borrie, Support Consultant, IBPhoenix (Pacific)
Author of "The Firebird Book" and "The Firebird Book Second Edition"
http://www.firebird-books.net
__________________________________________________________________