Subject Re: File is in use error in Firebird 2.0.1 SS in Windows Vista HB
Author marc_guillot
--- In firebird-support@yahoogroups.com, "Adam" <s3057043@...> wrote:
>
> --- In firebird-support@yahoogroups.com, "marc_guillot"
> <marc_guillot@> wrote:
> >
> > Hello.
> >
> > I have installed a Firebird 2.0.1 SuperServer in Windows Vista (Home
> > Basic), and I have problems in concurrent access.
> >
> > I can connect to a database only from one computer at a time. If I
> > connect to a database from one computer, then I can open as many
> > connections there as I want, but when I try to open a new connection
> > from another computer I get this error : I/O Error for file
> > ".....\Database.fdb", Error while trying to open file, El proceso no
> > tiene acceso al archivo porque esta siendo utilizado por otro proceso
> > (File is in use by another process). If I close all connections from
> > first computer, then I can open with no problems connections to
> > database in second computer (but after that, every time I try to
> > connect to database in first computer, I will get the File is in use
> > Error).
> >
> > Both computers connects trough TCP/IP.
> >
> > I have removed Firebird 2.0.1 and installed Firebird 2.0.3 Superserver
> > with the same problem. Then I have removed it and installed Firebird
> > 2.0.3 Classic Server. Now it runs like a charm. But what was the
> > problem ?. If possible, I prefers 2.0.1 SuperServer, because I don't
> > want to have differents versions and flavours in my costumers.
> >
>
> You do realise that Classic and Superserver are interchangeable, and
> by not ever using Classic your performance is missing out on SMP
> servers? (We almost exclusively use Classic now because most of our
> servers have 4 to 8 cores)
>
> But in answer to your question, it is hard to know without seeing the
> uncensored connection string, but are you 100% sure you don't have any
> embedded application accessing the database file? You don't have
> multiple versions of Firebird or Interbase on that machine?
>
> You should download Process Explorer (from Microsoft.com) to see which
> process has the handle to your database open (I am not sure, they may
> have even integrated it into the Vista task manager by now).
>
> Adam
>

Thank you Adam, the problem was in connection string. As Helen says,
they are not exactlly the same.

In Windows Vista Microsoft has changed the rules naming program files
path. In older versions there always was "C:\Archivos de Programa",
nows it is "C:\Program Files", leaving a kind of symlink for
"C:\Archivos de Programa".

I was having two different connection strings to access the same
database :

computer 1 "192.168.0.4:C:\Program Files\Almacen\Database\DDBB.fdb"
computer 2 "192.168.0.4:C:\Archivos de Programa\Almacen\Database\DDBB.fdb"