Skip to Content
avatar image
Former Member

How to connect to Sybase ASE installed on remote machine?

Hi,

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 -

LOCALHOST

master tcp ether localhost 5000

query tcp ether localhost 5000

LOCALHOST_BS

master tcp ether localhost 5001

query tcp ether localhost 5001

LOCALHOST_XP

master tcp ether localhost 5002

query tcp ether localhost 5002

LOCALHOST_JSAGENT

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.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • 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:

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

    Where:

    • 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:

    LOCALHOST
          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.

    Add comment
    10|10000 characters needed characters exceeded