views:

1604

answers:

2

I've got a seemingly unique issue on just one computer in the company. (had to be my boss's) I've got a program from borland C++ that usese a TSQLConnection. It connects to a local firebird server 2.1.1.17910 running as an application. The other computers work fine.

it will ABSOLUTELY NOT connect on this one lappy (local server) for ANYTHING. I remember he always had trouble with InterBase when it was installed as well. I think he installed up to 7.5 possibly. It's gone now and I went through and wiped out any old GDS32.dll files and updated them with the FireBird ones, and the connection is using fbclient.dll anyways...

I tried uninstalling and reinstalling FB and running it as a service. Didn't work.

I went into etc/services and added in the 3050/tcp line. No dice.

sticking "localhost:" in front of the database location gets this error: "Unable to complete network request to host "localhost". Failed to establish a connection."

I checked netstat, it's listening on 127.0.0.1 port 3050...

Tried sticking "127.0.0.1:" before the database location, I get: "connection rejected by remote interface"

Tried taking 127.0.0.1 or localhost out entirely and just using the database location, which is the right location, I get "Unavailable Database".

The exact same CD works fine on other machines. I tried sticking localhost, 127.0.0.1, and nothing at all in front of the database location and all connect fine on other machines.

I've made him turn his firewall off, still no dice... This problem has been going on for a long time and I'm at the end of my rope. I've tried everything I can possibly think of. It works fine on my computer, blank test computers, for the beta testers... everybody except my boss. Any help would be VASTLY appreciated.

+3  A: 

I authored the "InterBase Operations Guide" way back in 1998, when I worked for Borland. I tried to address troubleshooting for common connection-related errors.

  • Connection Refused is when the client application cannot complete a network connection to the IB/FB server at all. If a firewall were blocking connections, this is the error you'd get.

  • Connection Rejected is when the network connection reached the database server, but the database server decided to terminated the connection request. Reasons for this include:

    • You entered the wrong path to the database.
    • You specified an incorrect username or password (i.e. they don't match entries in isc4.gdb).
    • The database directory is on a networked filesystem. It must be on a filesystem that is physically local to the laptop.
    • The database server process doesn't have filesystem-level permission to read & write the database files (including isc4.gdb). Could there be anti-virus software or other filesystem security blocking I/O for unauthorized processes?
Bill Karwin
A: 

As Bill pointed the "rejected by remote interface" message means the TCP connection was established correctly, but the firebird server itself rejected the connection.
Check the firebird.log file in the firebird server \bin folder.
It may have useful information on why the server rejected the connection.

Douglas Tosi