+

Search Tips   |   Advanced Search

 

Configure a JDBC provider using scripting

 

You can configure a JDBC provider using the wsadmin tool and scripting. Before starting this task, the wsadmin tool must be running. See the Start the wsadmin scripting client article for more information.

 

Procedure

  1. There are two ways to perform this task. Perform one of the following:

    • Use the AdminTask object:

    • Use 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.

          Use Jacl:

          set node [$AdminConfig  getid  /Cell:mycell/Node:mynode/]
          

        • Use 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: Fastpath: For supported JDBC drivers, you can also script JDBC providers according to the same pre-configured templates that are used by the console logic. Consult the article Creating configuration objects using the wsadmin tool for details.

          Use Jacl:

          $AdminConfig required JDBCProvider
          

        • Use 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.

          Use Jacl:

          set n1 [list name JDBC1] set implCN [list implementationClassName myclass] set  jdbcAttrs [list  $n1  $implCN]
          
          Example output:

          {name {JDBC1}} {implementationClassName {myclass}}
          

        • Use 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:

          Use Jacl:

          $AdminConfig create JDBCProvider $node $jdbcAttrs
          

        • Use Jython:

          AdminConfig.create('JDBCProvider', node, jdbcAttrs)
          

        Example output:

        JDBC1(cells/mycell/nodes/mynode|resources.xml#JDBCProvider_1) 
        

  2. Save the configuration changes. See the Saving configuration changes with the wsadmin tool article for more information.

  3. In a network deployment environment only, synchronize the node. See the Synchronizing nodes with the wsadmin tool article 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), restart every appserver within the scope of that JDBC provider for the new configuration to work. Otherwise, you receive a data source failure message.



Use the AdminConfig object for scripted administration
Configure new data sources using scripting

 

Related Reference


Commands for the AdminConfig object