Configuring a JDBC provider using wsadmin

You can configure a JDBC provider using the wsadmin scripting tool.

Before you begin

Before starting this task, the wsadmin tool must be running. See the topic Starting the wsadmin scripting client for more information.
[z/OS]Removed support: The product no longer supports the DB2 for 390 and z/OS Legacy JDBC driver and the corresponding JDBC provider, the DB2 for zOS Local JDBC provider (RRS). Now WebSphere® Application Server for z/OS requires the DB2 Universal JDBC Driver to connect with DB2 for z/OS. Migrate your existing provider settings to the DB2 Universal JDBC Driver provider. Consult the topic Migrating from the JDBC/SQLJ Driver for OS/390 and z/OS to the DB2 Universal JDBC Driver in the Information Management Software for z/OS Solutions documentation, which is located at http://publib.boulder.ibm.com/infocenter/dzichelp.

Procedure

  1. There are two ways to perform this task. Perform one of the following:
    • Using the AdminTask object:
      • Using Jacl:

        $AdminTask createJDBCProvider {-interactive}
      • Using Jython:
        AdminTask.createJDBCProvider (['-interactive'])
    • Using the AdminConfig object:
      1. Identify the parent ID and assign it to the node variable. The following example uses the node configuration object as the parent. You can modify this example to use the cell, cluster, server, or application configuration object as the parent.
        • Using Jacl:

          set node [$AdminConfig  getid  /Cell:mycell/Node:mynode/]
        • Using Jython:
          node = AdminConfig.getid('/Cell:mycell/Node:mynode/')
          print node
        Example output:
        mynode(cells/mycell/nodes/mynode|node.xml#Node_1)
      2. Identify the required attributes:
        Fast path: For supported JDBC drivers, you can also script JDBC providers according to the same pre-configured templates that are used by the administrative console logic. Consult the article Creating configuration objects using the wsadmin tool for details.
        • Using Jacl:

          $AdminConfig required JDBCProvider
        • Using Jython:
          print AdminConfig.required('JDBCProvider')
        Example output:
        Attribute     Type
        name     String
        implementationClassName   String
      3. Set up the required attributes and assign it to the jdbcAttrs variable. You can modify the following example to setup non-required attributes for JDBC provider.
        • Using Jacl:

          set n1 [list name JDBC1]
          set implCN [list implementationClassName myclass]
          set  jdbcAttrs [list  $n1  $implCN]
          Example output:
          {name {JDBC1}} {implementationClassName {myclass}}
        • Using Jython:
          n1 = ['name', 'JDBC1']
          implCN = ['implementationClassName', 'myclass']
          jdbcAttrs = [n1,  implCN]
          print jdbcAttrs
          Example output:
          [['name', 'JDBC1'], ['implementationClassName', 'myclass']]
      4. Create a new JDBC provider using node as the parent:
        • Using Jacl:

          $AdminConfig create JDBCProvider $node $jdbcAttrs
        • Using Jython:
          AdminConfig.create('JDBCProvider', node, jdbcAttrs)
        Example output:
        JDBC1(cells/mycell/nodes/mynode|resources.xml#JDBCProvider_1) 
  2. Save the configuration changes. See the topic Saving configuration changes with the wsadmin tool for more information.
  3. In a network deployment environment only, synchronize the node. See the topic Synchronizing nodes with the wsadmin tool for more information.

What to do next

If you modify the class path or native library path of a JDBC provider: After saving your changes (and synchronizing the node in a network deployment environment), you must restart every application server within the scope of that JDBC provider for the new configuration to work. Otherwise, you receive a data source failure message.