Subject Re: Access violation
Author croxton3
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
wrote:
> Derek,
>
> At 05:37 PM 25/11/2003 +0000, you wrote:
> I'm just starting to try Firebird (1.5.0.4027-RC7, WinXP). When I go
> to register the server, I get the error,
>
> "Error logging in to the requested server.
>
> Detail message:
> Access violation at address 00000000. Read of address 00000000."
>
...
> Now that we have more information, I can suggest the source of your
problem.
>
> This *does* have to do with your configuration. The most obvious is
that
> you installed Firebird 1.5 into an environment that had either a
Firebird
> 1.0 or InterBase server installed. In that case, the two utility tools
> (IB_SQL and IBOConsole) are looking at the wrong client library.
>
> isql will find the correct client library (fbclient.dll) because the
> installation will have placed it in the same path.
>
> The two third-party tools are looking in the system path for a library
> named gds32.dll - hence they are finding the wrong gds32.dll and you
are
> getting these access violations because of non-existent addresses in
calls
> to the dll. At least in the case of IBOConsole, the message is:
> Access violation at address 00000000. Read of address 00000000",
meaning
> that "registration" routine is looking in a hard-coded path when
trying to
> call the attachment function. IB_SQL doesn't have a registration
routine
> so, as long as it finds a gds32.dll somewhere in the path, it
connects happily
>
...
> What's needed to fix your problem is to find the gds32.dll
compatibility
> stub and copy it either
> a) into your system32 directory (if you don't need the old gds32.dll
that
> is causing the problems
> or
> b) into the application directories of each of the tools
>
> The compatibility stub is named gds32.dll and its size is 36,864
bytes. If
> the RC7 installation program didn't install it in system32 - as it
will not
> have done if it found an existing Fb 1.0 or IB installation - then I
think
> you should be able to find it in the \bin directory of your Fb
> installation. (The reason I'm not sure is that Paul R changed
everything
> in the RC7 installer; and my Win32 installation installed into a clean
> system. So the compatibility stuff automatically went into system32.)

Thank you so much for your help. I had not, as far as I know,
installed Firebird on this computer before, but I did find a gds32.dll
located in the Fireserv directory. Fireserv is a complete web page
server, including apache, php, and MySQL -- but not Firebird, so I
don't know why it would use this .dll, although perhaps it performs a
similar function for MySQL. (The size is identical.) Anyway, I
installed the new IBOConsole build, and tried the following:

(a) rename the duplicate gds32.dll so that it wouldn't be found (the
other was indeed in Windows\System32);

(b) copy gds32.dll into the IBOConsole directory.

Neither of these worked. In fact, I found further evidence that you
are right about the problem: I tried "Diagnose Connection" on the
employees database, and got the error, "L'InterBase Client GDS32.DLL
non risulta installato." Since it is both in my system32 directory
and in the application directory, I don't know where it is looking to
find it. Oddly, in spite of the error, the result of the diagnostic
was "Server Communication Test Passed."

I have explored IB_SQL further, and am unable to duplicate the access
violation error. I thought it might have occurred when creating a
database, but I did that successfully, and added a table, without
problems.

I suppose my obvious choice would be to live without IBOConsole, which
would not be a disaster. (IB_SQL appears to be a powerful tool, much
more than what I'm used to working with, so I'm going through a long
if not overly steep learning curve. If anyone would care to recommend
which of the other clients I should use, I will certainly look into
them.) However, I hate leaving this unresolved, so if anyone would be
so kind as to offer further suggestions, I would appreciate it.