Subject Re: [firebird-support] ISC Error Code 335544721 - Unable to complete network request to host xxx
Author Helen Borrie
At 05:47 AM 19/05/2009, you wrote:
>We are running PostalMate software 7.3.1 which utilizes Firebird 2.1.1. PostalMate creates a standalone Firebird database for every PC that will run PostalMate. After the software has been installed on each machine, one PC has to be the master. Then the remaining PC will be an auxiliary to the master. We have 2 machines one is the master and the other should be the auxiliary. Both pc's reside behind a SonicWall hardware device which uses McAfee Antivirus software.

Now, let's look at it from a Firebird perspective. Firebird is a database server. Applications (known as "Firebird clients") connect to databases through this server. The conduit between the application and the server is "the Firebird client library".

For the "standalone" mode, best guess is that your PostalMate software installs the PM client application + a Firebird client library version that also contains an embedded server engine. This model is known as "embedded" and it is designed for stand-alone use, with both the Firebird client interface code and server code rolled into a single dll. In your"standalone" mode, the PM application passes its server requests to the embedded server via embedded client interface code. This model is strictly stand-alone and does not use a network transport.

>However when trying to change the from a standalone status to an auxiliary we receive the error message.

Your "master-slave" mode requires a separate, full-version Firebird server (Classic or Superserver) to be installed and running on what you call the "master". The embedded library does not provide this.

Multiple clients cannot connect to an embedded engine; neither can remote clients. In your "master/auxiliary mode", the "auxiliary" machine is just a remote client. It can use the client code in its installed, embedded library to connect to a *remote* server (the one that is hosted on your "master" machine). In this mode, the embedded server code is just a do-nothing.

>I have allowed port 3050 for Firebird to be open but the error still occurs. I have even set the SonicWall service and the associated McAfee services to a manual setting, rebooted both PC's and I still have the error.

You need to install the full server onto your "master" machine. The hostname for this server will be the same as the Windows network node name of that machine. If the server kit is not on the installation CD provided by the software vendor, you can download it from the Downloads section of the firebirdsql.org website. If you have only two clients, it won't matter whether you choose the Classic or Superserver model package. Use the executable installer kit; just check first the Properties sheet of the fbembed.dll library (which is normally renamed as "fbclient.dll") to get the correct Firebird version.

>Both PC's have static IP addresses. They have the same DNS server as well as the same search order of DNS servers. I can ping either machine by either IP address or hostname.

That's fine; but you ping the *node*, not the Firebird server. If you don't have a Firebird server installed and running then the application has nothing to connect to.


>There maybe something I am overlooking in the SonicWall interface, or something in the networking environment. I have added the ip address and host name in the host file in the event that was an issue.

Even when you get a server installed and running, you could still have problems, if the client application is not passing the proper network path for accessing the remote server.

>Any help would be greatly appreciated.

It seems that either you have overlooked something in the PostalMate setup and configuration documentation (re installing and configuring the software for stand-alone vs installing and configuring for client/server); or you are using a version of their software that was intended only for stand-alone use. If they hard-coded the connection string then you need to get hold of their remote-client version.

It seems surprising that you haven't contacted the vendor about this.

./heLen