Skip to Content

How to connect to Sybase ASE installed on remote machine?

Jun 29, 2017 at 06:14 PM


avatar image
Former Member


I have Sybase ASE installed on a RHEL machine. I want to connect it from another machine in the same network using isql.

What settings would I need to do on both server and client? What setting do I need to perform on "interfaces" file?

The contents of the server "interfaces" file right now is -


master tcp ether localhost 5000

query tcp ether localhost 5000


master tcp ether localhost 5001

query tcp ether localhost 5001


master tcp ether localhost 5002

query tcp ether localhost 5002


master tcp ether localhost 4900

query tcp ether localhost 4900

I have isql installed on both remote and client machines.

What setting should I do in client "interfaces" file to connect it to server? Please let me know if any more information is required.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Mark A Parsons Jun 29, 2017 at 08:09 PM

You named your ASE 'LOCALHOST' ? (What does 'select @@servername'?)

Technically there's nothing wrong with this, but it could get a little confusing in that 'localhost' has a special meaning at the OS/host level ...


A normal interfaces file entry looks like:

      master tcp ether <host_or_ip_address> <port#>
      query tcp ether <host_or_ip_address> <port#>


  • the master line is used by the server (eg, dataserver, backupserver, xpserver) at startup to tell it which network and port to start a listener on
  • the query line is used by client applications (eg, isql, bcp) to figure out which network address and port they need to connect to access the desired server
  • <host_or_ip_address> refers to the host where the server named <SERVER_NAME> is running

In order to access a server from other hosts in your network, <host_or_ip_address> must be an address that is accessible/pingable from the other hosts in the network.

In your examples you've got <host_or_ip_address> = localhost; localhost has a special meaning in that it says the server is **only** accessible via the local host's loopback network ... with the key issue being that no other host in the network has access to any other host's loopback network (aka localhost).

In order to access your ASE server from another host on the network you need to replace the localhost strings with either the name of the host where ASE (and backupserver, and XP server, and JS agent) is running, or the ip address of said host.

You then place a copy of each server's entries into the interfaces file on the other hosts (in your network) where you need to be able to access this ASE server from.

For example, if your dataserver (named 'LOCALHOST') is running on a host named my_ase_host_1, then your interfaces entries would look like:

      master tcp ether my_ase_host_1 5000
      query tcp ether my_ase_host_1 5000

NOTE: The easiest way to get your servers listening on the proper network address is to shutdown your dataserver/backupserver/xpserver, modify the interfaces file, then start up your dataserver/backupserver/xpserver.

Show 3 Share
10 |10000 characters needed characters left characters exceeded
Former Member


Thanks a lot for answer.

I have changed my SERVER "interfaces" file content to-


master tcp ether 5000

query tcp ether 5000


master tcp ether 5001

query tcp ether 5001


master tcp ether 5002

query tcp ether 5002


master tcp ether 4900

query tcp ether 4900

where is the IP of the host machine.

And I have copied the same "interfaces" file on client machine.

Now when I am running this command on client -

# isql -i ./interfaces -U sa -S LOCALHOST -P password

then, I am not getting any output/console. If I am giving any wrong info (such as username or password) in this command, then it is giving me LOGIN FAILED error. So that means, it is able to connect properly with the above command. But then why I am not seeing anything after this command?


1 - When sitting on the host where ASE is running, does your isql command work? And if so, have you double checked the contents of the 2x interfaces file (one on ASE host, one on client host)?

2 - By default isql will use $SYBASE/interfaces (note the lowercase 'i'nterfaces); your example is referencing a file in the current directory (note the uppercase 'I'interfaces); I'd want to double check to make sure your recent changes were in fact made to the uppercase 'I'nterfaces file (as opposed to $SYBASE/interfaces).


I find it curious that your command "Isql" uses a capital "I". Is "Isql" possibly an alias to "isql -n" ?

(-n turns off the isql prompt).