Configure new data sources using scripting
You can configure new data sources using scripting and the wsadmin tool. Before starting this task, the wsadmin tool must be running. See the Start the wsadmin scripting client article for more information.
In WAS, any JDBC driver properties that are required by your database vendor must be set as data source properties. Consult the article Data source minimum required settings, by vendor to see a list of these properties and setting options, ordered by JDBC provider type. Consult your database vendor documentation to learn about available optional data source properties. Script them as custom properties after you create the data source. In the Related links section of this article, click the "Configuring new data source custom properties using scripting" link for more information.
Overview
There are two ways to perform this task; use either of the following wsadmin scripting objects:
- AdminTask object
- AdminConfig object
AdminConfig gives you more configuration control than the AdminTask object. When you create a data source using AdminTask, you supply universally required properties only, such as a JNDI name for the data source. (Consult the article JDBCProviderManagement command group for the AdminTask object for more information.) Other properties that are required by your JDBC driver are assigned default values by Application Server. You cannot use AdminTask commands to set or edit these properties; use AdminConfig commands.
Procedure
- Use the AdminConfig object to configure a new data source:
- Identify the parent ID, which is the name and location of the JDBC provider that supports your data source.
Use Jacl:
set newjdbc [$AdminConfig getid /Cell:mycell/Node:mynode/JDBCProvider:JDBC1/]
- Use Jython:
newjdbc = AdminConfig.getid('/Cell:mycell/Node:mynode/JDBCProvider:JDBC1/') print newjdbcExample output:
JDBC1(cells/mycell/nodes/mynode|resources.xml#JDBCProvider_1)
Obtain the required attributes. Fastpath: For supported JDBC drivers, you can also script data sources 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 DataSource
Use Jython: print AdminConfig.required('DataSource')Example output:
Attribute Type name StringIf the database vendor-required properties (which are referenced in the article Data source minimum required settings, by vendor) are not displayed in the resulting list of required attributes, script these properties as data source custom properties after you create the data source.
Set up the required attributes.
Use Jacl:
set name [list name DS1] set dsAttrs [list $name]
Use Jython: name = ['name', 'DS1'] dsAttrs = [name]
Create the data source.
Use Jacl:
set newds [$AdminConfig create DataSource $newjdbc $dsAttrs]
Use Jython: newds = AdminConfig.create('DataSource', newjdbc, dsAttrs) print newdsExample output:
DS1(cells/mycell/nodes/mynode|resources.xml#DataSource_1)
Use the AdminTask object to configure a new data source:
Use Jacl:
$AdminTask createDatasource {-interactive}
Use Jython: AdminTask.createDatasource (['-interactive'])
Save the configuration changes. See the Saving configuration changes with the wsadmin tool article for more information.
Synchronize the node. See the Synchronizing nodes with the wsadmin tool article for more information.
What to do next
To set additional properties that are supported by your JDBC driver, script them as data source custom properties.
Configure new data source custom properties using scripting
Use the AdminConfig object for scripted administration
Related Reference
Commands for the AdminConfig object