Add RDB Directory Entry (ADDRDBDIRE)
Where allowed to run: All environments (*ALL) Threadsafe: No |
Parameters Examples Error messages |
The Add Relational Database Directory Entry (ADDRDBDIRE) command allows you to add an entry to the relational database directory. Relational database (RDB) entries can represent local databases or remote databases. The RDB associated with an entry can also be classified as a system database or a user database.
There is only one system database per system. It is defined as the system auxiliary storage pool (ASP number 1) and configured basic user ASPs (ASP numbers 2-32). A system can be configured to have one or more user databases. A user database is defined to be an ASP group that is configured and available. Such a database is joined to the system database in such a way that all of the objects on the system database are also accessible through it.
Note: As used in this context, 'system' can refer a logical partition of a System i machine configured with multiple partitions.
Local databases include the system database and any available user databases on this system. Remote databases normally reside on another system, but an unavailable ASP group configured on this system is also considered to be temporarily remote, because it might have been switched to another node within a cluster of systems.
Restrictions:
- You must have execute (*EXECUTE) authority to the library and program specified for the Application requester driver (ARDPGM) parameter.
Top |
Parameters
Keyword | Description | Choices | Notes |
---|---|---|---|
RDB | Entry | Element list | Required, Key, Positional 1 |
Element 1: Relational database | Character value | ||
Element 2: Relational database alias | Character value, *NONE | ||
RMTLOCNAME | Remote location | Single values: *ARDPGM, *LOOPBACK Other values: Element list |
Required, Positional 2 |
Element 1: Name or address | Character value, *LOCAL | ||
Element 2: Type | *SNA, *IP | ||
PORT | Port number or service program | Character value, *DRDA | Optional |
RMTAUTMTH | Remote authentication method | Element list | Optional |
Element 1: Preferred method | *USRENCPWD, *USRID, *USRIDPWD, *ENCUSRPWD, *KERBEROS, *ENCRYPTED | ||
Element 2: Allow lower authentication | *ALWLOWER, *NOALWLOWER | ||
ENCALG | Encryption algorithm | *DES, *AES | Optional |
SECCNN | Secure connection | *NONE, *SSL | Optional |
DEV | Device | Element list | Optional |
Element 1: APPC device description | Name, *LOC | ||
LCLLOCNAME | Local location | Communications name, *LOC, *NETATR | Optional |
RMTNETID | Remote network identifier | Communications name, *LOC, *NETATR, *NONE | Optional |
MODE | Mode | Communications name, *NETATR | Optional |
TNSPGM | Transaction program | Character value, *DRDA | Optional |
ARDPGM | Application requester driver | Single values: *DRDA Other values: Element list |
Optional |
Element 1: Program | Qualified object name | ||
Qualifier 1: Program | Name | ||
Qualifier 2: Library | Name, *LIBL, *CURLIB | ||
TEXT | Text | Character value, *BLANK | Optional |
Top |
Entry (RDB)
Specifies the relational database name information.
This is a required parameter.
Note: Valid relational database names and aliases can contain any of the following: A-Z, 0-9, @, #, $ and _.
Element 1: Relational database
- character-value
- Specify the relational database name as identified at the remote location. You can specify a maximum of 18 characters for the name; however, DB2 UDB for z/OS relational database names are limited to 16 characters.
Element 2: Relational database alias
- *NONE
- There is no local alias for the relational database.
- character-value
- Specify the relational database alias. The alias is used for locally identifying the relational database specified above. You can specify a maximum of 18 characters for the alias. A relational database alias name is not valid when specified with a *LOCAL remote location name.
Top |
Remote location (RMTLOCNAME)
Specifies the remote location name of the system on which the relational database (RDB) is located.
This is a required parameter.
Single values
- *ARDPGM
- The RDB is accessed by using the application requester driver program specified on the ARDPGM parameter. A remote location name is not used to locate the RDB.
Note: If *ARDPGM is specified, the PORT, DEV, LCLLOCNAME, RMTNETID, MODE, and TNSPGM parameters are ignored.
- *LOOPBACK
- This value is an alias for the IP address of the host system.
Note: If *LOOPBACK is specified, the DEV, LCLLOCNAME, RMTNETID, MODE, TNSPGM and ARDPGM parameters are ignored, and the value of the second element is forced to *IP.
Element 1: Name or address
- *LOCAL
- This entry is the system database (system ASP and any basic ASPs) on this system. You can specify *LOCAL for only one entry in the RDB directory.
Note: If *LOCAL is specified, the DEV, LCLLOCNAME, RMTNETID, MODE, TNSPGM and ARDPGM parameters are ignored, and the value of the second element is forced to *IP. A relational database alias name is not valid when specified with a *LOCAL remote location name.
- character-value
- The first element of this parameter can be specified in several forms:
- SNA remote location name (LU name). Specify a maximum of 8 characters for the remote location name. If this form is used, the second element of this parameter must be *SNA (the default).
- SNA remote network identifier and remote location name separated by a period. Specify a maximum of 8 characters for the remote location name, and a maximum of 8 characters for the remote network identifier. If this form of the parameter is used, the second element of this parameter must be *SNA (the default), and any value specified for the RMTNETID parameter must agree. If the RMTNETID parameter is not specified, the RMTNETID value will be set to agree with the RMTLOCNAME parameter.
- IP version 4 address in dotted decimal form. Specify an internet protocol version 4 address in the form nnn.nnn.nnn.nnn where each nnn is a number in the range 0 through 255. If this form is used, the second element of this parameter must be specified as *IP.
- IP version 6 address in colon hexadecimal form. Specify an internet protocol version 6 address in the form xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx where each xxxx is a hex number in the range 0 through FFFF. If this form is used, the second element of this parameter must be specified as *IP. IP version 6 includes the IPv4-mapped IPv6 address form (for example, ::FFFF:1.2.3.4). For IP version 6, the compressed form of the address is allowed.
- IP host domain name. Specify an internet host domain name of up to 254 characters in length. If this form is used, the second element of this parameter must be specified as *IP.
If *IP is specified for the second element, the DRDA server at the remote location must support the use of TCP/IP, and the DEV, LCLLOCNAME, RMTNETID, MODE, and TNSPGM parameters will be ignored.
If *SNA is specified for the second element, the DRDA server must support SNA connectivity. More information about SNA remote location names can be found in the APPC Programming book, SC41-5443 and the APPN information in the Networking category in the IBM i Information Center at http://www.ibm.com/systems/i/infocenter/.
Element 2: Type
- *SNA
- The RDB system is accessed using a Systems Network Architecture (SNA) address and protocol.
- *IP
- The RDB system is found using a host name or an internet address over a TCP/IP connection.
Top |
Port number or service program (PORT)
Specifies the TCP/IP port that is used at the remote location to communicate with the system on which the RDB is located. This parameter will be ignored if *IP is not specified in the RMTLOCNAME parameter.
- *DRDA
- The DRDA well-known port of 446 will be used.
- port-number
- Specify a number ranging from 1 through 65535.
- service-name
- Specify a maximum of 14 characters for the service name. This name must be registered in the service database file.
Top |
Remote authentication method (RMTAUTMTH)
Specifies the preferred remote authentication method on a DDM/DRDA TCP/IP connection request. The actual method used depends on the outcome of the negotiation process between client and server, which depends on the cryptographic support available and the server security configuration. The CHGDDMTCPA (Change DDM TCP/IP Attributes) command can be used to configure DDM/DRDA TCP/IP security on i5/OS systems. This parameter will be ignored if *IP is not specified in the Remote location (RMTLOCNAME parameter).
Element 1: Preferred method
Specifies the initial authentication method proposed to the server. Based on the authentication methods supported by the server and the value specified for the Allow lower authentication element of this parameter, an authentication method is negotiated that is acceptable to both the client and server.
- *USRENCPWD
- User ID and associated encrypted password is sent on a DDM connection request. Cryptographic support must be available on both systems for this authentication method to be used.
- *USRID
- User ID only is sent on a DDM connection request. This is the lowest authentication method.
- *USRIDPWD
- User ID and associated password is sent on a DDM connection request. Passwords are not encrypted if this authentication method is used.
- *ENCUSRPWD
- Encrypted user ID and associated encrypted password is sent on a DDM connection request. Cryptographic support must be available on both systems for this authentication method to be used.
- *KERBEROS
- Authentication occurs using Kerberos. The RDB name must map to a target principal name in the Enterprise Identity Mapping (EIM) environment. Kerberos needs to be configured on both systems for this authentication method to be used.
Note: The following value is only supported for compatibility with the releases earlier than Version 6 Release 1 Modification 0 of the operating system.
- *ENCRYPTED
- User ID and associated encrypted password is sent on a DDM connection request. Cryptographic support must be available on both systems for this authentication method to be used. It is recommended to use value *USRENCPWD in place of value *ENCRYPTED.
Element 2: Allow lower authentication
Specifies whether an authentication method lower than what was specified for the Preferred method element of this parameter will be accepted during negotiation with the server. If the server is configured to require a higher authentication method than the value specified for the Preferred method element of this parameter and the Application Requester system can support a higher authentication method, the negotiated authentication method can always be higher than the Preferred method. From highest to lowest strength, the authentication methods are:
- *KERBEROS
- *ENCUSRPWD
- *USRENCPWD or *ENCRYPTED
- *USRIDPWD
- *USRID
- *ALWLOWER
- Allow negotiation of a lower authentication method than what was specified for the Preferred method element of this parameter.
- *NOALWLOWER
- Do not allow negotiation of a lower authentication method than what was specified for the Preferred method element of this parameter.
Top |
Encryption algorithm (ENCALG)
Specifies the encryption algorithm to be initially used on a DDM/DRDA TCP/IP connection request when encrypting the userid and password. The actual encryption algorithm used depends on the outcome of the negotiation process between client and server, which depends on the cryptographic support available and the server security configuration. The CHGDDMTCPA (Change DDM TCP/IP Attributes) command can be used to configure DDM/DRDA TCP/IP security on i5/OS systems. This parameter will be ignored if *IP is not specified in the Remote location (RMTLOCNAME parameter). The possible values are:
- *AES
- Advanced Encryption Standard (AES) is to be initially used. If the server supports AES, the connection will negotiate to use AES. If the server does not support AES, the connection will be refused. If it is known that the server supports AES, it is recommended that the user specify *AES on the ENCALG keyword on the ADDRDBDIRE (Add RDB Directory Entry) command or CHGRDBDIRE (Change DDM TCP/IP Attributes) command to avoid a re-negotiation flow that may occur when *DES is specified.
- *DES
- Data Encryption Standard (DES) is to be initially used. Setting to *DES does not guarantee that DES will be used. If the server supports AES, the server may force re-negotiation with the client to upgrade to AES, or it may use DES. If the server only supports AES, the server may force re-negotiation with the client to upgrade to AES, or the server may refuse the connection. If it is known that the server supports AES, it is recommended that the user specify *AES on the ENCALG keyword on the ADDRDBDIRE (Add RDB Directory Entry) command or CHGRDBDIRE (Change DDM TCP/IP Attributes) command to avoid a re-negotiation flow that may occur when *DES is specified.
From highest to lowest strength, the encryption algorithms are:
- *AES
- *DES
Top |
Secure connection (SECCNN)
Indicates whether Secure Sockets Layer (SSL) is to be used on a DDM/DRDA TCP/IP connection request. The possible values are:
- *NONE
- Secure sockets layer is not used.
- *SSL
- Secure sockets layer is used.
Top |
Device (DEV)
Specifies the advanced program-to-program communications (APPC) device description on this system that is used with this relational database (RDB) entry.
More information on device names is in the APPC Programming book, SC41-5443.
- *LOC
- If APPC is being used, the system determines which device description is used. If advanced peer-to-peer networking (APPN) is being used, the system ignores this parameter.
- name
- Specify a maximum of 10 characters for the name of a device description.
Top |
Local location (LCLLOCNAME)
Specifies the local location name by which this system is identified to the system on which the RDB is located. The local location name cannot be the same as the remote location name.
- *LOC
- If advanced program-to-program communications (APPC) is being used, the system determines which local location name is used. If advanced peer-to-peer networking (APPN) is being used, the system uses the default local location defined in the network attributes.
- *NETATR
- The LCLLOCNAME value specified in the system network attributes is used.
- communications-name
- Specify a maximum of 8 characters for the local location name.
Top |
Remote network identifier (RMTNETID)
Specifies the remote network identifier of the system on which the RDB is located. If this parameter is specified, the RMTLOCNAME parameter must be consistent with this RMTNETID parameter. If the RMTLOCNAME parameter specified a network ID, this parameter must agree (otherwise, an error message will be issued). If the RMTLOCNAME parameter does not specify any network ID, there is no possibility of conflict with this parameter.
More information on remote network identifiers is in the APPC Programming book, SC41-5443.
- *LOC
- If advanced program-to-program communications (APPC) is being used, the system determines which remote network identifier is used. If advanced peer-to-peer networking (APPN) is used, the system uses the local network identifier defined in this system's network attributes for the remote network identifier.
- *NETATR
- The remote network identifier specified in the network attributes is used.
- *NONE
- No remote network identifier (ID) is used.
- remote-network-identifier
- Specify a maximum of 8 characters for the remote network identifier.
Top |
Mode (MODE)
Specifies the mode name to use with the remote location name to communicate with the system on which the RDB is located.
- *NETATR
- The mode in the network attributes is used.
- BLANK
- A mode name of all blanks is used.
- communications-name
- Specify a maximum of 8 characters for the mode name.
Top |
Transaction program (TNSPGM)
Specifies the name of the transaction program to use with the RDB entry.
- *DRDA
- The distributed relational database architecture (DRDA) transaction program name, X'07F6C4C2', is used. DRDA is a means by which RDBs communicate with each other over a network.
- name
- Specify the name of the transaction program in one of the following formats:
- A 4-byte hexadecimal name, which is entered by enclosing the 8 hexadecimal digits in single quotation marks with a prefix of X. For example, X'07F6C4C2' is a 4-byte hexadecimal name.
- An 8-byte character name.
Top |
Application requester driver (ARDPGM)
Specifies the application requester driver that is the program to be called to process SQL requests directed to the RDB. The program must exist in a library that is located in the system database (system ASP or a configured basic user ASP) on this system, and must be of the object type *PGM.
Single values
- *DRDA
- The Distributed Relational Database Architecture (DRDA) application requester is used.
Qualifier 1: Program
- name
- Specify the name of the application requester driver program to be called to process the SQL requests.
Qualifier 2: Library
- *LIBL
- All libraries in the library list for the current thread are searched until the first match is found.
- *CURLIB
- The current library for the thread is searched. If no library is specified as the current library for the thread, the QGPL library is searched.
- name
- Specify the name of the library where the program is located.
Top |
Text (TEXT)
Specifies the text that briefly describes the object.
- *BLANK
- No text is specified.
- character-value
- Specify no more than 50 characters of text enclosed in single quotation marks.
Top |
Examples
Example 1: Adding an Entry
ADDRDBDIRE RDB(MYRDB) RMTLOCNAME(*LOCAL)
This command adds an entry to the relational database directory. The entry identifies the local relational database. In an SQL program, this relational database name is used when referring to the local relational database.
Example 2: Adding an Entry
ADDRDBDIRE RDB(YOURRDB) RMTLOCNAME(NEWYORK)
This command adds an entry to the relational database directory. The entry identifies a remote location, NEW YORK.
Example 3: Adding an Entry for an Application Requester Driver Program
ADDRDBDIRE RDB(YOURRDB) RMTLOCNAME(*ARDPGM) ARDPGM(MYLIB/MYPGM)
This command adds an entry to the relational database directory. The entry indicates that access to relational database YOURRDB will be done by an application requester driver program named MYPGM in the library MYLIB.
Example 4: Adding an Entry for TCP/IP usage
ADDRDBDIRE RDB(TCPRDB) RMTLOCNAME(ROCHESTER.XYZ.COM *IP) PORT(*DRDA)
This command adds an entry to the relational database directory. The entry specifies that the remote RDB associated with the RDB name of TCPRDB uses TCP/IP and is on the host with the domain name of ROCHESTER.XYZ.COM, and listens on the standard DRDA port of 446 (*DRDA is the default port so the PORT parameter is unnecessary in this case).
Example 5: Adding an Entry for TCP/IP using Dotted Decimal IP Version 4 Address and a Numeric Port Number
ADDRDBDIRE RDB(DB2DSYS) RMTLOCNAME('9.5.36.17' *IP) PORT(5021)
This command adds an entry to the relational database directory. The entry specifies that the remote RDB associated with the RDB name of DB2DSYS uses TCP/IP and is on the host with an IP address of 9.5.36.17, and listens on port 5021. A System/390 MVS installation, for example, can have multiple DB2 subsystems, and TCP/IP can support only one server at each port number, so port numbers other than 446 are sometimes required.
Example 6: Adding an Entry for TCP/IP using Colon Hexadecimal IP Version 6 Address and a Numeric Port Number
ADDRDBDIRE RDB(DB2DSYS) RMTLOCNAME('2001:DB8:0:B33D:8785:0:1734:F51C' *IP) PORT(32)
This command adds an entry to the relational database directory. The entry specifies that the remote RDB associated with the RDB name of DB2DSYS uses TCP/IP and is on the host with an IP address of 2001:DB8:0:B33D:8785:0:1734:F51C, and listens on port 32. A System/390 MVS installation, for example, can have multiple DB2 subsystems, and TCP/IP can support only one server at each port number, so port numbers other than 446 are sometimes required.
Example 7: Adding an Entry for TCP/IP using a Service Name for the Port Identification
ADDRDBDIRE RDB(DB2ESYS) RMTLOCNAME(ROCHESTER.XYZ.COM *IP) PORT(DB2ESYS_PORT)
This command uses a service name to specify the port number when adding a new entry. The operating system will attempt to resolve the name DB2ESYS_PORT to a port number by use of the TCP/IP Service Table. In order for the name to be properly resolved, an entry for DB2ESYS_PORT must exist in the TCP/IP Service Table. The WRKSRVTBLE or CFGTCP command can be used to update the service table.
Top |
Top |