Configure a JDBC provider using wsadmin
We can configure a JDBC provider using the wsadmin scripting tool.
See the topic Starting the wsadmin scripting client for more information.
(ZOS) 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 the existing provider settings to the DB2 Universal JDBC Driver provider. Consult the topic Migrate 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 Knowledge Center, which is located at IBM Knowledge Center.
Tasks
- There are two ways to perform this task. Perform one of the following:
- Use the AdminTask object:
- Jacl:
$AdminTask createJDBCProvider {-interactive}- Jython:
AdminTask.createJDBCProvider (['-interactive'])
- Use the AdminConfig object:
- Identify the parent ID and assign it to the node variable. The following example uses the node configuration object as the parent. We can modify this example to use the cell, cluster, server, or application configuration object as the parent.
- Jacl:
set node [$AdminConfig getid /Cell:mycell/Node:mynode/]- Jython:
node = AdminConfig.getid('/Cell:mycell/Node:mynode/') print node
Example output:
mynode(cells/mycell/nodes/mynode|node.xml#Node_1)- Identify the required attributes:
Fast path: For supported JDBC drivers, we can also script JDBC providers according to the same pre-configured templates used by the administrative console logic. Consult the article Creating configuration objects using the wsadmin tool for details.
- Jacl:
$AdminConfig required JDBCProvider- Jython:
print AdminConfig.required('JDBCProvider')
Example output:
Attribute Type name String implementationClassName String- Set up the required attributes and assign it to the jdbcAttrs variable. We can modify the following example to setup non-required attributes for JDBC provider.
- Jacl:
set n1 [list name JDBC1] set implCN [list implementationClassName myclass] set jdbcAttrs [list $n1 $implCN]Example output:
{name {JDBC1}} {implementationClassName {myclass}}- Jython:
n1 = ['name', 'JDBC1'] implCN = ['implementationClassName', 'myclass'] jdbcAttrs = [n1, implCN] print jdbcAttrsExample output:
[['name', 'JDBC1'], ['implementationClassName', 'myclass']]
- Create a new JDBC provider using node as the parent:
- Jacl:
$AdminConfig create JDBCProvider $node $jdbcAttrs- Jython:
AdminConfig.create('JDBCProvider', node, jdbcAttrs)
Example output:
JDBC1(cells/mycell/nodes/mynode|resources.xml#JDBCProvider_1)
- Save the configuration changes. See the topic Saving configuration changes with the wsadmin tool for more information.
- In a network deployment environment only, synchronize the node. See the topic Synchronize nodes with the wsadmin tool for more information.
What to do next
If we modify the class path or native library path of a JDBC provider: After saving our changes (and synchronizing the node in a network deployment environment), we must restart every application server within the scope of that JDBC provider for the new configuration to work. Otherwise, we receive a data source failure message.
wsadmin AdminConfig Configure new data sources using wsadmin Synchronize nodes Create configuration objects Start the wsadmin scripting client Save wsadmin configuration changes Commands for the AdminConfig object