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:
- The service name in
/etc/services
should match the service name in/etc/inetd.conf
. (esoobserver
in the example.) 8888
is the port thatinetd
listens to on the server's behalf. If8888
is taken by another service, replace it with an unused port number and change theServerPort
attribute inodbc.ini
.- 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. - The last column in
inetd.conf
should be a path to a shell script that runsesoobserver
. 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:
- In Services, check the ODBC-ODBC Bridge service is running
- By default, the service listens on port
8888
. Runnetstat -a
from a command prompt to check that something is listening on port8888
. - Check the
esoobserver.exe
binary by executing it from a command prompt. - In Event Viewer, check the Application and Services Logs for any messages from the ODBC-ODBC Bridge service.
- The final checks require registry changes. If you get to this stage, please contact the Easysoft Support team ( ).