Subject Re: [ib-support] Firebird newbie
Author Helen Borrie
At 02:55 AM 27/05/2003 +0000, you wrote:
>Hi,
>
>I am new to Firebird and have the following question:
>
>Once I have used IBConsole or InterBase PLANalyzer to connect to
>Firebird database, I cannot use others (eg. isql, etx.) to connect
>it. It will give me error:
>
>"Statement failed, SQLCODE=-902. The process cannot access the file
>because it is being used by another process"
>
>Is it a feature of Firebird?

Yes. If different client programs use different path formats in their
connection strings to connect to an InterBase database, serious database
corruption occurs. This is known affectionately as "The path string
bug". In Firebird, it was fixed a long time ago, by disallowing any client
to connect with a different path format to the one that was used for the
first connection, i.e the one that opened the database file.

Here are two path strings that are incompatible in this context:

C:\data\mydb.fdb <--- correct path format
C:data\mydb.fdb <--- incorrect path format, but allowed by Windows

>If so, how to I connect to a database
>with different tools at one time, because during development, I might
>use a SQL Analyser tool and Admin tool.

Just make sure that you use the *same* correct path string with all
clients. Particularly watch out for paths that might have been set
automatically by InterBase-specific tools such as the two you mention, both
of which use the IBX components. Because the bug hasn't been fixed in
InterBase, such tools are not likely to provide protection from it in their
internal parsing.

heLen