Configure a JDBC provider using wsadmin
We can configure a JDBC provider using wsdmin.sh.
Before starting this task, wsadmin.sh must be running. 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 z/OS 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 "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 Information Center, which is located at http://publib.boulder.ibm.com/infocenter/dzichelp.
- 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 console logic. Consult the article Creating configuration objects 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}}
Using 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 wsadmin.sh for more information.
- In a network deployment environment only, synchronize the node. See the topic Synchronizing nodes with wsadmin.sh for more information.
What to do next
If we modify the class path or native library path of a JDBC provider: After saving the 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.
Related tasks
Use the wsadmin scripting AdminConfig object for scripted administration Configure new data sources using wsadmin Synchronize nodes using wsdmin.sh Create configuration objects using wsdmin.sh Start the wsadmin scripting client Saving configuration changes with wsadmin.sh
Commands for the AdminConfig object