Why do I get connection refused errors from the ODBC-ODBC Bridge client?

If you get errors such as:

08001:1:4:[Easysoft ODBC (Client)] Client unable to establish connection
HY000:2:4:[Easysoft ODBC (Client)] Connection refused, error text

the Easysoft ODBC-ODBC Bridge server is not listening on the specified port or the operating system refused the connection because the listen backlog queue was full. (In the second case, refer to Why do I get connection refused under heavy loads?) First check that your ODBC data source is valid. The attribute to check is SERVERPORT. If the server is running on the specified machine and listening on the specified port, telnet to that port and check whether the server sends its startup protocol message. For example, if the SERVERPORT value is demo.easysoft.com:8888:

telnet demo.easysoft.com 8888
87FA9694x1:0:1998-1112-0000000001001:NT^02:4.0.1381^03:Intel^04:4^05:^06:Yp^07:1^

(The exact output you get depends on the ODBC-ODBC Bridge version, operating system, and machine type.)

If telnet fails to connect, nothing is listening on that port. Check whether the server is running and what port it's listing on. If you get "connection closed by foreign host," refer to the other connection-related questions in this knowledge base.

If you're connecting to a Linux or UNIX server, check your /etc/inetd.conf or /etc/services files. The files should be similar to those shown below:

# /etc/services
esoobserver 8888/tcp # Easysoft ODBC-ODBC Bridge
# /etc/inetd.conf
esoobserver stream tcp nowait root /bin/sh /bin/sh
/usr/local/easysoft/server/server

The important parts are:

  1. The service name in /etc/services should match the service name in /etc/inetd.conf. (esoobserver in the example.)
  2. 8888 is the port that inetd listens to on the server's behalf. If 8888 is taken by another service, replace it with an unused port number and change the ServerPort attribute in odbc.ini.
  3. The /bin/sh bin/sh columns in /etc/inetd.conf file must be a valid shell. To check this, trying running the named shell from a prompt. For example:
    $ /bin/sh

    Sometimes, UNIX machines have a file called /etc/shells that lists valid shells.

  4. The last column in inetd.conf should be a path to a shell script that runs esoobserver. For example:
     #!/bin/sh
     cd /usr/local/easysoft/server 
     ./esoobserver inetd

Check this script is executable and try running it.

If you are connecting to a Windows server:

  1. In Services, check the ODBC-ODBC Bridge service is running
  2. By default, the service listens on port 8888. Run netstat -a from a command prompt to check that something is listening on port 8888.
  3. Check the esoobserver.exe binary by executing it from a command prompt.
  4. In Event Viewer, check the Application and Services Logs for any messages from the ODBC-ODBC Bridge service.
  5. The final checks require registry changes. If you get to this stage, please contact the Easysoft Support team ().