Configuring the tnsnames.ora File
- Last Updated: May 15, 2020
- 1 minute read
- DataDirect Connectors
- JDBC
- IBM Db2 5.1
- MySQL 5.1
- Progress OpenEdge 5.1
- SAP Sybase 5.1
- Documentation
If using a tnsnames.ora file to retrieve connection information and to prevent connection information conflicts, do not specify the following connection properties:
- AlternateServers
- EncryptionMethod
- FailoverMode
- LoadBalancing
- ServerName
- ServiceName
- PortNumber
- ServerType
- SID
If any of these properties are specified in addition to the TNSNamesFile and TNSServerName properties, the driver throws an exception. For example, if the net service name entry ARMSTRONG.ACCT specifies the LOAD_BALANCE parameter as shown in the following example:
ARMSTRONG.ACCT =
(DESCRIPTION =
(ADDRESS_LIST=
(FAILOVER = on)
(LOAD_BALANCE = on)
(ADDRESS= (PROTOCOL = TCP)(HOST = server1)(PORT = 1521))
(ADDRESS= (PROTOCOL = TCP)(HOST = server2)(PORT = 1521))
(ADDRESS= (PROTOCOL = TCP)(HOST = server3)(PORT = 1521))
)
and you specify the LoadBalancing property in the driver connection URL as shown in the following example, the driver throws an exception.
jdbc:datadirect:oracle:TNSNamesFile=c:\\oracle92\\NETWORK\\
ADMIN\\tnsnames.ora;TNSServerName=FITZGERALD.SALES;LoadBalancing=true
The following table lists the Oracle driver properties that correspond to tnsnames.ora connect descriptor parameters. To prevent connection information conflicts, do not specify the listed properties if you use a tnsnames.ora file.
| Oracle Driver Property | tnsnames.ora Attribute |
|---|---|
| AlternateServers = servers_list | The ADDRESS_LIST parameter contains
connection information for one or multiple servers, using the ADDRESS parameter to
specify the primary and alternate servers. For
example:The
first ADDRESS parameter specifies connection information for the primary server. The
second and third ADDRESS parameter specifies connection information for alternate
servers. When multiple servers are specified by the ADDRESS_LIST parameter, connection failover is automatically enabled. If FAILOVER=off, connection failover is disabled. You also can explicitly specify connection failover using the FAILOVER parameter. |
FailoverMode = {connect | extended
| select} |
The
FAILOVER_MODE parameter is specified in the CONNECT_DATA section to provide failover
instructions for the driver. The FAILOVER_MODE parameter requires the TYPE parameter,
which specifies the type of failover to be used. Other parameters are
optional.The
FAILOVER_MODE parameter can only be used to enable extended connection failover or
select failover. When multiple servers are specified by the ADDRESS_LIST parameter,
connection failover is automatically enabled. If FAILOVER=off, connection failover is
disabled. You also can explicitly specify connection failover using the FAILOVER
parameter. |
LoadBalancing = {true |
false} |
If LOAD_BALANCE=on,
enables client load balancing. For
example:If
the LOAD_BALANCE parameter is unspecified or LOAD_BALANCE=off, client load balancing
is disabled. |
| PortNumber = port | The ADDRESS_LIST
parameter contains connection information for one or multiple servers, using the
ADDRESS parameter to specify the primary and alternate servers. The PORT parameter is
used within the ADDRESS parameter to specify the port number for each server entry.
For example:
A
port of 1521, the default port number when installing an Oracle database, is specified
for server1. |
EncryptionMethod = {noEncryption |
SSL} |
The ADDRESS_LIST
parameter contains connection information for one or multiple servers, using the
ADDRESS parameter to specify the primary and alternate servers. The PROTOCOL parameter
is used within the ADDRESS parameter to specify the network protocol to be used. It
also is used to specify whether data is encrypted and decrypted when transmitted over
the network between the driver and the server. For example, the following entry
specifies that the TCP/IP protocol will be used with no encryption:
A
port of 1521, the default port number when installing an Oracle database, is specified
for server1.The following entry specifies that the TCP/IP protocol will be used with
SSL encryption:
A
port of 2484, the port number recommended by Oracle for SSL, is specified for
server1.Note: Truststore information must still be specified using
either the TrustStore and TrustStorePassword properties or Java system properties.
Optionally, you can specify the ValidateServerCertificate and HostNameInCertificate
properties. |
| ServerName = server_name | The
ADDRESS_LIST parameter contains connection information for one or multiple servers,
using the ADDRESS parameter to specify the primary and alternate servers. The HOST
parameter is used within the ADDRESS parameter to specify the server name for each
server entry. The server entry can be an IP address or a server name. For example:
The
server name server1 is specified in the first server entry. |
ServerType = {shared |
dedicated} |
If SERVER=shared
is specified in the CONNECT_DATA parameter in the tnsnames.ora file, the server
process (UNIX) or thread (Windows) to be used is retrieved from a pool. For example:
When SERVER=shared, this
setting allows there to be fewer processes than the number of connections, reducing
the need for server resources. When SERVER=dedicated, a server process is created to
service only that connection. When that connection ends, so does the process (UNIX) or
thread (Windows). |
| ServiceName = service_name | The database
service name that specifies the database used for the connection. The service name is
a string that is the global database name—a name that typically comprises the database
name and domain name. For example:The service
name is specified in the CONNECT_DATA parameter. For
example:This
parameter is mutually exclusive with the SID attribute and is useful to specify
connections to an Oracle Real Application Clusters (RAC) system rather than a specific
Oracle instance. |
| SID = SID | The Oracle System
Identifier (SID) that refers to the instance of the Oracle database running on the
server. The default Oracle SID that is configured when installing your Oracle database
software is ORCL. The SID is specified in the CONNECT_DATA parameter. For
example:This parameter is
mutually exclusive with the SERVICE_NAME attribute. |
For more information about configuring tnsnames.ora files, refer to your Oracle documentation.