Set new data sources using scripting
Configure new data sources using scripting and wsadmin.
Before starting this task, wsadmin must be running. See the Start wsadmin article for more information.
In WAS, any JDBC driver properties that are required by the 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 the 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 "Set new data source custom properties using scripting" link for more information.
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 AdminTask. By creating a data source using AdminTask, you supply universally required properties only, such as a JNDI name for the data source. (Consult the article JDBCProviderManagement for more information.) Other properties that are required by the JDBC driver are assigned default values by Application Server. We cannot use AdminTask commands to set or edit these properties; use AdminConfig commands.
- 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 the data source.
- Jacl...
set newjdbc [$AdminConfig getid /Cell:mycell/Node:mynode/JDBCProvider:JDBC1/]- Jython...
newjdbc = AdminConfig.getid('/Cell:mycell/Node:mynode/JDBCProvider:JDBC1/') print newjdbc
For example...
JDBC1(cells/mycell/nodes/mynode|resources.xml#JDBCProvider_1)- Obtain the required attributes.
For supported JDBC drivers, we can also script data sources according to the same pre-configured templates that are used by the admin console logic. Consult the article Create configuration objects using wsadmin for details.
For example...
Attribute Type name StringTip: If 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.
- Jacl...
set name [list name DS1] set dsAttrs [list $name]- Jython...
name = ['name', 'DS1'] dsAttrs = [name]
- Create the data source.
- Jacl...
set newds [$AdminConfig create DataSource $newjdbc $dsAttrs]- Jython...
newds = AdminConfig.create('DataSource', newjdbc, dsAttrs) print newds
For example...
DS1(cells/mycell/nodes/mynode|resources.xml#DataSource_1)- Use AdminTask to configure a new data source:
- Jacl...
$AdminTask createDatasource {-interactive}- Jython...
AdminTask.createDatasource (['-interactive'])
- Save the configuration changes. See the Saving configuration changes with wsadmin article for more information.
- Synchronize the node. See the Synchronizing nodes with wsadmin article for more information.
What to do next
To set additional properties that are supported by the JDBC driver, script them as data source custom properties.
Related tasks
Set new data source custom properties using scripting
Use the AdminConfig object for scripted administration
Related
Commands for the AdminConfig object
WAS data source properties