Subject Re: [ib-support] Testing the connection string solution for Windows and RC2
Author Claudio Valderrama C.
""sllflanagan"" <sflanagan@...> wrote in message
news:a14dup+5gvo@......
>
> I loaded a Windows NT4 SP6a PC with the Firebird-1.0.0.338-Beta-2-
> Win32-Setup[1].zip file and then overlaid it with the Firebird-1.0.0-
> RC2-Win32[1].zip files, started up and checked the employee.gdb
> example database using IBConsole on the local PC. The database server
> is RC2 and the database has forced writes enabled.
>
> Then I went to another PC and set up two INTRBASE type database
> connections using the BDE admin (BDE is 5.1.1). The first string is
> \\Iuw-morrisond\d:\Program Files\InterBase
> Corp\InterBase\Examples\Employee.gdb
> the second is
> \\Iuw-morrisond\d:Program Files\InterBase
> Corp\InterBase\Examples\Employee.gdb
> Using Database Explorer I opened both databases and modified some
> data without any trouble.
>
> Am I mistaken in thinking the second connection would be rejected ??

There's no problem with this string IF the engine can expand it. The
connection string goes to several hoops while expanding and analyzing the
string you provide. It may (eventually) miss the boat and think two paths
aren't the same when they really are synonyms. One of the reasons is that
the current path (as seen by the engine) is used to complete a relative
path.
In this case, the engine realized that the file exists and the expansion of
the name only added the missing backlash.
There was another subtle problem: a gdb created by some attachment wouldn't
have the same name than new attachment. The problem only went away after the
anyone had disconnected, so the next attachment will cause the engine to
load again the gdb. There was this minor window time that could be a
disaster. The creator has to disconnect immediately to ensure no secondary
attachment would get a different path. I fixed this for RC1 or RC2. It
affected gbak as well.
Now, assuming the engine still can't realize that two paths are the same,
IB6 will open the gdb twice and FB simply CAN'T open it twice, due to the
flags passed to the operating system. You will get an error message instead
of a spoiled gdb.

C.
--
Claudio Valderrama C. - http://www.cvalde.com - http://www.firebirdSql.org
Independent developer
Owner of the Interbase® WebRing