Adabas Client Configuration
Remote database access using ADATCP was introduced with Adabas version 6.7 (OCT-2018). It supports the mapping of a database-id to a given hostname and port number, the so-called connection string. ADATCP supports only point-to-point connections.
For the ADATCP protocol the defined database-id in the mapping does not need to be the physical id of that database. Only the connection string is relevant for connecting to the database. In the Adabas Cluster environment we have one primary database and multiple secondary databases and only the primary database must be used for client access. Since this can change during the runtime of the cluster, the client mapping may provide a list of connection strings. The client will connect to any of the provided connections and retrieves a list of the active cluster databases and will reconnect to the given primary database.
Note:
Although an Entire Net-Work license is required to operate the cluster nodes, neither the installation of the Entire Net-Work Server nor the Entire Net-Work Client (WCL) is required. To avoid further configuration effort, we recommend not to source the environment of WCL.
Database Mapping
To enable TCP/IP access for existing client applications without any change of the application, a configuration file (dbmapping.txt) needs to be updated with the according TCP/IP settings for the databases. Please keep in mind that all Adabas utilities are also a kind of client application for the Adabas nucleus.
For each TCP/IP enabled database an entry needs to be added to the dbmapping.txt configuration file.
Note:
Where the ADATCP protocol is specified, adatcps for ssl communication can also be inserted.
<dbid> = adatcp://fqdn:port where fqdn stands for fully qualified domain name.
Example:
Database 200 which runs on host srvada01 and listens on port 61200 or for SSL communication on port 62200:
200 = adatcp://srvada01.softwareag.com:61200
or
200 = adatcps://srvada01.softwareag.com:62200
For UNIX/Linux platforms the default path and file name of the configuration file is called:
${ACLDIR}/config/dbmapping.txt
These entries describe the mapping of Adabas DBIDs to a connect string with the appropriate TCP/IP parameters needed on the client side. If a different mapping file should be used, the path name can be specified by the environment variable ADA_DB_MAPPING. For more information, see Adabas for Linux and Cloud > Adabas Remote Database Access > Adabas TCP/IP.
Cluster Mapping
The ADATCP protocol has been extended with the CLUSTER parameter to support a list of nodes that form a cluster. The CLUSTER parameters specifies a list of nodes that can initially be connected to obtain the infrastructure of the cluster. At least one of the specified nodes must be active.
Client Parameters

Parameter | Value | Description
cluster | A semicolon separated list of connection strings | A selection of nodes that were contacted to find the primary node. At least one of them must be active.
nocluster | yes | nocluster=yes prevents from reconnecting to the primary node. This is especially important for utilities that need to access a specific database.

This is an example for the database-id 66 which represents the Adabas cluster with nuclei running on adaclu1 port 56141, adaclu2 port 56142, and adaclu3 port 56143:
66 = adatcp://adaclu1:56141?cluster=adatcp://adaclu2:56142;adatcp://adaclu3:56143
The next example illustrates a cluster with database 141 on node adaclu1, database 142 on node adaclu2 and database 143 on node adaclu3 and definitions for direct access:
66 = adatcp://adaclu1:56141?cluster=adatcp://adaclu2:56142;adatcp://adaclu3:56143
141 = adatcp://adaclu1:56141?nocluster=yes
142 = adatcp://adaclu2:56142?nocluster=yes
143 = adatcp://adaclu3:56143?nocluster=yes
Note:
If a client issues Adabas update commands directly to one of the databases 141, 142 or 143 and this is not the primary node, a response code 22 will be returned. For more information, please see Cluster-Specific Adabas Response and Subcodes.
Client Parameters
Client parameters are added to the connection string after the '?' character. They are valid for all cluster nodes and only need to be specified once.
This example shows how to specify client parameters for the SSL communication in a cluster:
66 = adatcps://adaclu1:56141?
cluster=adatcps://adaclu2:56142;adatcps://adaclu3:56143&cert_file=cert.pem&key_file=key.pem
The order of these parameters is not relevant.
Verify Cluster Connection String
Example for a cluster definition with database 10 on node adaclu10, database 11 on node adaclu11, and database 12 on node adaclu12, and all nodes are part of the same cluster:
getclusterinfo 66
--- Connection string for cluster_id 66:
adatcp://adaclu10:56010?cluster=adatcp://adaclu11:56011;adatcp://adaclu12:56012
--- get list of Nodes with Database-Type (Cluster/Single), ID, Version and Cluster-UUID
Cluster Node 10 is active, V7.3.0.0, ADATCP access to 'ADACLU10:56010', UUID 'c6533286-77c6-11ee-a2c2-6aaf591aaa3c'
Cluster Node 11 is active, V7.3.0.0, ADATCP access to 'ADACLU11:56011', UUID 'c6533286-77c6-11ee-a2c2-6aaf591aaa3c'
Cluster Node 12 is active, V7.3.0.0, ADATCP access to 'ADACLU12:56012', UUID 'c6533286-77c6-11ee-a2c2-6aaf591aaa3c'
Example for a cluster definition with database 10 on node adaclu10, database 13 on node adaclu13, and database 12 on node adaclu12, and all nodes are NOT part of the same cluster:
getclusterinfo 'adatcp://adaclu10:56010?cluster=adatcp://adaclu13:56013;adatcp://adaclu12:56012'
--- get list of Nodes with Database-Type (Cluster/Single), ID, Version and Cluster-UUID
Cluster Node 10 is active, V7.3.0.0, ADATCP access to 'ADACLU10:56010', UUID 'c6533286-77c6-11ee-a2c2-6aaf591aaa3c'
Cluster Node 13 is active, V7.3.0.0, ADATCP access to 'ADACLU13:56013', UUID '9d98de58-77cc-11ee-898c-575a48ef529b' !!!
Cluster Node 12 is active, V7.3.0.0, ADATCP access to 'ADACLU12:56012', UUID 'c6533286-77c6-11ee-a2c2-6aaf591aaa3c'
--- list of validation fail
Warn: Expect only nodes with same Cluster-UUID - current number of node(s) with different UUID: 1