IBM Tivoli Directory Integrator (ITDI) provides for ready connectivity via Java Database Connectivity (JDBC). However, the JDBC provider architecture is a pluggable model, and so additional configuration is required before connection to a relational database is possible. Most database products provide JDBC connectivity in the standard product installation. Microsoft SQL Server is an exception to this, and so enabling JDBC connectivity from ITDI to Microsoft SQL Server is one of the more interesting possibilities.
The remainder of this article provides a procedure for enabling this connectivity.
Data transformation and synchronization projects are often where an organization begins its endeavours in identity management. Data rationalization initiatives are often a pre-cursor to broader identity management projects in the areas of provisioning, authentication and access control. IBM Tivoli Directory Integrator (ITDI), part of the Tivoli Security suite, is IBM's strategic solution for synchronization of identity data.
When required, customized connectors, parsers and event handlers can be implemented using the Java programming language. These custom components can extend the reach of ITDI beyond the already rich set of components already provided with the product.
The JDBC provider for Microsoft SQL Server is not provided in the standard product installation. Third-party vendors provide JDBC drivers for Microsoft SQL Server, as well as Microsoft themselves. In this article, we use the JDBC driver provided by Microsoft. Download the Microsoft JDBC Driver from Microsoft at:
Note that there does not appear to be a specific JDBC driver for Microsoft SQL Server 2003, but the driver for Microsoft SQL Server 2000 works adequately.
Follow the instructions accompanying the JDBC driver for Microsoft SQL Server to install. Installation instructions for Windows and UNIX® platforms are provided.
- Stop ITDI if it is running.
- Copy the following JAR files from the JDBC driver installation into the <ITDI>\jars directory:
- Start ITDI.
- Create a new ITDI configuration.
- Create a new assembly line.
- Select the ibmdi.JDBC type, name the new connector and choose Iterator mode.
- Create the connector details in the following way:
|JDBC URL||URL of the form jdbc:microsoft:sqlserver://<db-host>:1433;SelectMethod=Cursor;DatabaseName=<db-name>|
|Username||Windows or SQL Server username with access to the database|
|Schema||Owner of database schema for the table you intend to use|
- After completing these parameters, click the Select button next to the "Table Name" parameter to display available table names. This is also the first verification of connectivity to the database.
- Go to the Input Map tab and verify that ITDI can connect to the database and discover the table schema.
- Verify that ITDI can retrieve a sample row using the newly configured connector.
The IBM Tivoli Directory Integrator rich set of standard connectors, combined with the flexible provider architecture in JDBC, enables rapid integration of ITDI with relational databases. The Microsoft SQL Server is no exception.
- Share your questions and views on this article with the author and other readers in the Tivoli Security Discussion Forum.
- To learn more about Tivoli Security, visit the developerWorks Tivoli zone. You'll find technical documentation, how-to articles, education, downloads, product information, and more.
- Get involved in the developerWorks community by participating in developerWorks blogs.
Neil Readshaw is a Senior Security Architect in the Tivoli Security Team based on the Gold Coast, Australia. In this role, Neil works with customers to define solutions using the Tivoli Security software suite, and works in an enablement role with IBM Business Partners and the IBM technical sales team in the Asia Pacific region.