This section assumes that TCP/IP is functional on the client and server workstations. See Software Requirements for the communication protocol requirements for your platform. See Possible Client-to-Server Connectivity Scenarios for the supported communication protocols for your particular client and server.
To set up TCP/IP communications on a DB2 client, perform the following steps:
Step 1. | Identify and record parameter values. |
Step 2. | Configure the client:
|
Step 3. | Test the connection between the client and server.
|
|
Due to the characteristics of the TCP/IP protocol, TCP/IP may not be immediately notified of the failure of a partner on another host. As a result, a client application accessing a remote DB2 server using TCP/IP, or the corresponding agent at the server, may sometimes appear to be hung. DB2 uses the TCP/IP SO_KEEPALIVE socket option to detect when there has been a failure and the TCP/IP connection has been broken. If you are experiencing problems with your TCP/IP connection, refer to the
Troubleshooting Guide for information on how to adjust this parameter and other common TCP/IP
problems.
|
As you proceed through the configuration steps, complete the
Your Value column in the following table. You can fill in
some of the values before you start configuring this protocol.
Table 19. TCP/IP Values Required at the Client
Parameter | Description | Sample Value | Your Value |
---|---|---|---|
Host Name
|
Use the hostname or ip_address of the remote server workstation. To resolve this parameter:
|
serverhost or 9.21.15.235
| |
Service Name
|
Values required in the services file. The Connection Service name is an arbitrary name that represents the Connection port number (port_number) on the client. The port number for the client must be the same as the port number that the svcename parameter maps to in the services file at the server. (The svcename parameter is located in the database manager configuration file on the server.) This value must not be in use by any other applications, and must be unique within the services file. Contact your database administrator for the values used to configure the
server.
|
server1
3700/tcp
| |
Node name (node_name) |
A local alias, or nickname, that describes the node to which you are trying
to connect. You can choose any name you want; however, all node name
values within your local node directory must be unique.
| db2node |
The following steps configure this protocol on the client. Replace the sample values with your worksheet values.
|
If your network has a name server, or you are planning to directly specify
the IP address (ip_address) of the server, skip this step and proceed
to Step B. Update the Services File.
|
The client must know the address of the server to which it is attempting to
establish communications. If a name server does not exist on your
network, you may directly specify a hostname that maps to the IP address
(ip_address) of the server in the local hosts file.
See Table 20 for the location of the hosts file for your
particular platform.
| If you are planning on supporting a UNIX client that is using Network Information Services (NIS), and you are not using a name server on your network, you must update the hosts file located on your NIS master server. |
Table 20. Location of the Local Hosts and Services Files
Platform | Location |
---|---|
OS/2 | Specified by the etc environment variable. Enter the set etc command to determine the location of your local hosts or services files. |
Windows NT | Located in the winnt\system32\drivers\etc directory. |
Windows 9x | Located in the windows directory. |
UNIX | Located in the /etc directory. |
Edit the client's hosts file and add an entry for the server's hostname. For example:
9.21.15.235 serverhost # host address for serverhost
where:
| If the server is not in the same domain as the client, you must provide a fully qualified domain name such as serverhost.vnet.ibm.com, where vnet.ibm.com is the domain name. |
|
If you are planning to catalog a TCP/IP node using a port number
(port_number), skip this step and go to Step C. Catalog a TCP/IP Node.
|
Using a local text editor, add the Connection Service name and port number to the client's services file for TCP/IP support. For example:
server1 3700/tcp # DB2 connection service port
where:
The port number used on the client must match the port number used on the
server.
|
If you are planning on supporting a UNIX client that uses Network Information Services (NIS), you must update the services file located on your NIS master server. The file called services is located in the same directory as the local hosts file that you may have edited in A. Resolve the Server's Host Address. See Table 20 for the location of the services file for your
particular platform.
|
You must add an entry to the client's node directory to describe the remote node. This entry specifies the chosen alias (node_name), the hostname (or ip_address), and the svcename (or port_number) that the client will use to access the remote server.
To catalog a TCP/IP node, perform the following steps:
Step 1. | Log on to the system with a valid DB2 user ID. For more
information, see Appendix G, Naming Rules.
| ||
Step 2. | If you are using a UNIX client, set up the instance environment and invoke the DB2 command line processor. Run the start-up script as follows: . INSTHOME/sqllib/db2profile (for Bash, Bourne or Korn shell) source INSTHOME/sqllib/db2cshrc (for C shell) where INSTHOME is the home directory of the instance. | ||
Step 3. | Catalog the node by entering the following commands: catalog tcpip node node_name remote [hostname|ip_address] \ server [svcename|port_number] terminate For example, to catalog the remote server serverhost on the node called db2node, using the service name server1, enter the following: catalog tcpip node db2node remote serverhost server server1 terminate To catalog a remote server with the IP address 9.21.15.235 on the node called db2node, using the port number 3700, enter the following: catalog tcpip node db2node remote 9.21.15.235 server 3700 terminate
|
|
If you need to change values that were set with the catalog node command, perform the following steps:
|
Before a client application can access a remote database, the database must be cataloged on the server node and on any client nodes that will connect to it. When you create a database, it is automatically cataloged on the server with the database alias (database_alias) the same as the database name (database_name). The information in the database directory, along with the information in the node directory, is used on the client to establish a connection to the remote database.
To catalog a database on the client, perform the following steps:
Step 1. | Log on to the system with a valid DB2 user ID. For more
information, see Appendix G, Naming Rules.
| ||||||||||||||||
Step 2. | Fill in the Your Value column in the following
worksheet.
Table 21. Worksheet: Parameter Values for Cataloging Databases
| ||||||||||||||||
Step 3. | If you are using a UNIX client, set up the instance environment and invoke the DB2 command line processor. Run the start-up script as follows: . INSTHOME/sqllib/db2profile (for Bash, Bourne or Korn shell) source INSTHOME/sqllib/db2cshrc (for C shell) where INSTHOME represents the home directory of the instance. | ||||||||||||||||
Step 4. | Catalog the database by entering the following commands: catalog database database_name as database_alias at node node_name terminate For example, to catalog a remote database called sample so that it has the alias tor1, on the node db2node, enter the following commands: catalog database sample as tor1 at node db2node terminate
|
When you have finished configuring the client for
communications, perform the following steps to test the connection:
| You will need to connect to a remote database to test the connection. |
Step 1. | Start the database manager by entering the db2start command on the server (if it was not automatically started at boot time). |
Step 2. | Enter the following command to connect the client to the remote database: connect to database_alias user userid using password
|
The values for userid and password must be valid for the system on which they are authenticated. By default, authentication takes place on the server for a DB2 server and on the host or AS/400 machine for a DB2 Connect server.
Authentication for connecting to host databases is set while configuring the DB2 Connect server. For more information, refer to the DB2 Connect User's Guide.
If the connection is successful, you will get a message showing the name of the database to which you have connected. You are now able to retrieve data from that database. For example, to retrieve a list of all the table names listed in the system catalog table, enter the following SQL command in the Command Center or command line processor:
"select tabname from syscat.tables"
When you are finished using the database connection, enter the connect
reset command to end the database connection.
| You are now ready to start using DB2. For more advanced topics, refer to the Administration Guide and the Installation and Configuration Supplement. |
If the connection fails, check the following items:
At the server:
__ 1. | The db2comm registry value includes the value
tcpip.
| ||
__ 2. | The services file was updated correctly. | ||
__ 3. | The service name (svcename) parameter was updated correctly in the database manager configuration file. | ||
__ 4. | The security service was started. Enter the net start db2ntsecserver command (for Windows NT servers only). | ||
__ 5. | The database was created and cataloged properly. | ||
__ 6. | The database manager was stopped and started again (enter the db2stop and db2start commands on the server).
|
|
If there are problems starting a protocol's connection managers, a warning message appears and the error messages are logged in the db2diag.log file. For more information on the db2diag.log file, refer to
the Troubleshooting Guide.
|
At the client:
__ 1. | If used, the services and hosts files were updated correctly. |
__ 2. | The node was cataloged with the correct hostname (hostname) or IP address (ip_address). |
__ 3. | The port number must match, or the service name must map to, the port number used on the server. |
__ 4. | The node name (node_name) that was specified in the database directory points to the correct entry in the node directory. |
__ 5. | The database was cataloged properly, using the server's database alias (database_alias) that was cataloged when the database was created on the server, as the database name (database_name) on the client.
|
If the connection still fails after you verify these items, refer to the Troubleshooting Guide.