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:
/etc/services
should match the service name in /etc/inetd.conf
. (esoobserver
in the example.)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
./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.
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:
8888
. Run netstat -a
from a command prompt to check that something is listening on port 8888
.esoobserver.exe
binary by executing it from a command prompt.