Network Deployment (Distributed operating systems), v8.0 > Administer applications and their environment > Administer Data access resources > Administer data access applications > Configure a JDBC provider and data source
Configure a data source
Overview
Application components use a data source to access connection instances to a relational database.
Data sources are associated with a JDBC provider. The application server requires both objects for the applications to make calls to a particular database and receive data from it. The data source provides connection management capabilities.
Configure a data source
- Open the administrative console and access the necessary console panel...
Resources | JDBC | Data sources
Resources | JDBC | Data sources (WAS v4)
Resources | JDBC | JDBC providers | jdbc_provider | Data sources
Resources | JDBC | JDBC providers | jdbc_provider | Data sources (WAS v4)
- Scope can be cell, node, cluster, or server.
- To configure a v4 data source:
- Click New to proceed to the console panel for defining required properties.
- On this properties panel specify values for the fields that are grouped under the heading Configuration. The application server requires these properties to implement your JDBC driver classes.
- Save the configuration by clicking OK. You are now finished with the primary data source configuration tasks.
- Define other properties that your database vendor might require, or offer as options, for using the JDBC driver.
The application server calls them custom properties, and requires that you set them on the data source. Begin by clicking the Custom Properties link that is now displayed on the administrative console panel.
- Click New to access the wizard...
Create a data source
- Type a data source name in the Data source name field.
- Type a JNDI name in the JNDI name field.
The application server uses the JNDI name to bind resource references for an application to this data source.
- Do not assign duplicate JNDI names across different resource types, such as data sources versus J2C connection factories or JMS connection factories.
- Do not assign duplicate JNDI names for multiple resources of the same type in the same scope.
- Click Next to see the panel...
Select JDBC provider
The Select JDBC provider panel is skipped if you do not have any JDBC providers that are configured at the current scope.
- Select an existing JDBC provider, or create a new provider.
- Select an existing JDBC provider.
- Click Select an existing JDBC provider.
- Select a JDBC driver from the drop-down list.
- Click Next. You now see the panel entitled Enter database specific properties for the data source.
- Create a new JDBC provider.
- Click Create new JDBC provider.
- Click Next to see the panel...
Create JDBC provider
- Use the first drop-down list to select the database type of the JDBC provider that create.
Select User-Defined for your database type if you encounter either of the following scenarios:
- You do not see your database type.
- You cannot select the JDBC provider type that you need in the next step.
The user-defined selection triggers the wizard panel to display your provider type as a User-defined JDBC provider, and your implementation type as User-defined. Consult your database documentation for the JDBC driver class files, data source properties, and so on that are required for your user-defined provider. We must supply this information on the next two wizard panels:
- database class path information
- database-specific properties
- If the JDBC provider type is displayed in the second drop-down list, select your JDBC provider type.
Select Show Deprecated to trigger the display of both current and deprecated providers.
If you cannot find your provider in this expanded list, then select User-Defined from the previous list of database types.
- From the third drop-down list, select the implementation type that is necessary for the application.
If the application does not require that connections support two-phase commit transactions, choose Connection Pool Data Source. Choose XA Data Source, however, if the application requires connections that support two-phase commit transactions. Applications that use this data source configuration have the benefit of container-managed transaction recovery.
After you select an implementation type, the wizard fills the name and the description fields for your JDBC provider. We can type different values for these fields; they exist for administrative purposes only.
- Click Next after we have defined your database type, provider type, and implementation type. Now you see the wizard panel Enter database class path information.
- In the class path field, type the full path location of the database JDBC driver class files.
The class path information becomes the value of the WebSphere environment variable that is displayed on this panel, in the form of ${DATABASE_JDBC_DRIVER_PATH}. The application server uses the variable to define your JDBC provider; this practice eliminates the need to specify static JDBC class paths for individual applications. Remember that if you do not provide the full, correct JDBC driver class path for the variable, your data source ultimately fails. If the field already displays a fully qualified class path, you can accept that variable definition by completing the rest of this wizard panel and clicking Next.
- Use the Native library path field to specify additional class files that your JDBC driver might require to function properly on the application server platform. Type the full directory path name of these class files.
- Click Next. You now see the Enter database specific properties for the data source panel.
- Complete all of the fields on the Enter database specific properties for the data source panel.
- If container managed persistence (CMP) enterprise beans must access this data source, click...
Use this data source in container managed persistence (CMP)
- Any other property fields that are displayed on this wizard panel are specific to your database type.
For user-defined data sources the wizard panel does not display additional property fields for data sources that correspond with your user-defined JDBC providers. However, from the JDBC driver class files that you installed, the application server can generally extract the necessary data source property names. The application server defines them as data source custom properties, displays them on a custom properties console panel, and assigns them default values. Consult your database documentation about setting these properties and any other requirements for your user-defined data source. After creation of the data source, navigate to the corresponding custom properties collection panel in the administrative console by clicking...
Data sources | data_source | Custom properties
Review the property default values and modify them if necessary.
The application server can only extract vendor-specific properties from the driver class files if you install the files on the dmgr node and configure their representative WebSphere variables correctly. Otherwise, the product displays an informational message (as opposed to an error message) that directs you to manually define the necessary properties as custom properties.
- Configure the security aliases for the data source.
We can select none for any of the authentication methods, or choose one of the following types:
- Component-managed authentication alias
Authentication alias to use when the component resource reference res-auth value is Application. To define a new alias...
Related Items | J2EE Connector Architecture (J2C) authentication data entries
A component-managed alias represents a combination of ID and password specified in an application for data source authentication. Therefore, the alias that you set on the data source must be identical to the alias in the application code.
- Use the drop-down list to select an existing component-managed authentication alias.
- To create a new alias, click the links that are provided. This action closes the data source wizard and triggers the administrative console to display the J2C authentication data panel. Click New to define a new alias. Click OK to save your settings and view the new alias on the J2C authentication data panel. Restart the data source wizard by navigating back to the data source collection panel, selecting the appropriate scope, and clicking New.
- Map-configuration alias
Used only in the absence of a login configuration on the component resource reference. The specification of a login configuration and the associated properties on the component resource reference is the preferred way to define the authentication strategy when the res-auth value is set to Container. If you specify the DefaultPrincipalMapping login configuration, the associated property is a JAAS - J2C authentication data entry alias.
- Container-managed authentication alias
Used only in the absence of a login configuration on the component resource reference. The specification of a login configuration and the associated properties on the component resource reference determines the container-managed authentication strategy when the res-auth value is set to Container.
If we have defined security domains in the application server, you can click Browse... to select an authentication alias for the resource that you are configuring. Security domains support isolating authentication aliases between servers.
The tree view is useful in determining the security domain to which an alias belongs, and the tree view can help you determine the servers that are able to access each authentication alias. The tree view is tailored for each resource, so domains and aliases are hidden when you cannot use them.
- Click Next to view the Summary panel, and review any information for the data source. If any information is not correct, you can click Previous to go back and correct it.
- Click Finish to save the configuration and exit the wizard. You now see the Data sources panel, which displays your new configuration in a table along with other data sources that are configured for the same scope.
What to do next
- We can override the default values for some data source properties.
- We can configure additional properties that your database vendor might require or offers as options. Consult your database documentation about these settings.
- We can add the commitOrRollbackOnCleanup custom property to the settings of a JDBC datasource if you want a specific action taken with any uncommitted work if your JDBC datasource unexpectedly closes. The values that can be specified for this property are commit or rollback.
If your JDBC datasource supports UOW detection, this property only applies when you are in a datasource UOW. If your JDBC datasource does not support UOW detection, this property always applies.
If you do not add this property to your JDBC datasource settings, any detected implicit transaction is rolledback, and the application must deal with any undetected implicit transactions.
To add this custom property to your JDBC datasource configuration settings:
- In the administrative console, click DBC providers > (JDBC Provider Name) > Data sources > datasource_name > Custom properties >New.
- Enter commitOrRollbackOnCleanup in the Name field, and either commit or rollback in the Value field.
- Save your changes.
The following topics in this information center inform you of how to use the administrative console to assign the property values:
- Connection pool settings
- Tune connection pools
- WAS data source properties
- Java EE resource provider or connection factory custom properties collection
Related
Tune connection pools
Disable statement pooling
Data source collection
Data source (WAS V4) collection
Java EE resource provider or connection factory custom properties collection
Custom Properties (Version 4) collection Data source lookups for enterprise beans and web modules
Data sources
JDBC providers
Naming Manage Java 2 Connector Architecture authentication data entries for JAAS
Related
WAS data source properties
Data source minimum required settings, by vendor
Data source settings
Data source (WAS v4) settings
Connection pool settings