IDM JDBC Driver and Third-Party JDBC Driver Versioning

geoffc

By: geoffc

August 15, 2007 4:37 am

Reads: 256

Comments:0

Rating:0

Problem

The JDBC driver for IDM is a very powerful and flexible tool. Due to its flexibility, it has added complexities beyond that of a normal driver.

One issue that comes up is that the IDM driver shim is very dependent on the actual JDBC driver for the database itself. The shim receives the XML documents from the engine, processes them, and sends them out as JDBC calls via the third party JDBC driver itself to process.

JDBC drivers are usually Java-based (thus the “J” in the name), and unlike .DLL or .NLM files, they do not have the usual embedded version information. Finding the version string can often be difficult.

In the case of the Oracle JDBC drivers, there are many versions, and they are named after the JVM/JDK used to compile them. Classes12.jar is for a 1.2 JVM, and ojdbc14.jar is for a 1.4 JVM and higher. (There is a version coming for a 1.5 and 1.6 JVM, but I am not sure if it is out yet).

Even so, when troubleshooting IDM JDBC issues, you want to be sure to try the latest version of the Oracle driver.

Solution

If you turn the driver shim trace to level 5 (it may show up lower trace levels, but definitely there in level 5), using either the remote loader console (if on Windows) or editing the configuration file itself, you should see a trace message that looks like the
following:

This is for a ojdbc14.jar from 2004:

DirXML: [08/02/07 16:45:50.78]: TRACE:  BEGIN Open connection 'dedicated0'.
DirXML: [08/02/07 16:45:50.87]: TRACE:  END   Open connection.
DirXML: [08/02/07 16:45:50.87]: TRACE:  Connected to database.
DirXML: [08/02/07 16:45:50.87]: TRACE:  Retrieving database metadata
DirXML: [08/02/07 16:45:50.87]: TRACE:  BEGIN Get database properties.
DirXML: [08/02/07 16:45:50.87]: TRACE:   Database name:  Oracle
DirXML: [08/02/07 16:45:50.87]: TRACE:   Database version:  Oracle9i Enterprise Edition Release 9.2.0.6.0 
- Production With the Partitioning, OLAP and Oracle Data Mining options: JServer Release 9.2.0.6.0 - Production
DirXML: [08/02/07 16:45:50.87]: TRACE:    JDBC driver name:  Oracle JDBC driver
DirXML: [08/02/07 16:45:50.87]: TRACE:    JDBC driver version:  9.2.0.8.0
DirXML: [08/02/07 16:45:50.87]: TRACE:    JDBC driver major version:  9
DirXML: [08/02/07 16:45:50.87]: TRACE:    JDBC driver minor version:  2

This is for a ojdbc14.jar from 2007:

DirXML: [08/02/07 17:11:22.31]: TRACE:  Connecting to database...
DirXML: [08/02/07 17:11:22.31]: TRACE:  BEGIN Open connection 'dedicated0'.
DirXML: [08/02/07 17:11:22.67]: TRACE:  END   Open connection.
DirXML: [08/02/07 17:11:22.67]: TRACE:  Connected to database.
DirXML: [08/02/07 17:11:22.67]: TRACE:  Retrieving database metadata
DirXML: [08/02/07 17:11:22.69]: TRACE:  BEGIN Get database properties.
DirXML: [08/02/07 17:11:22.70]: TRACE:    Database name:  Oracle
DirXML: [08/02/07 17:11:22.70]: TRACE:    Database version:  Oracle9i Enterprise Edition Release 9.2.0.6.0 
- Production With the Partitioning, OLAP and Oracle Data Mining options: JServer Release 9.2.0.6.0 - Production
DirXML: [08/02/07 17:11:22.70]: TRACE:    JDBC driver name:  Oracle JDBC driver
DirXML: [08/02/07 17:11:22.70]: TRACE:    JDBC driver version:  10.2.0.3.0
DirXML: [08/02/07 17:11:22.70]: TRACE:    JDBC driver major version:  10
DirXML: [08/02/07 17:11:22.70]: TRACE:    JDBC driver minor version:  2

The driver shim sends its version string on most XML documents it sends back, as does the engine, which makes it easy to track from the IDM side.

Note also the database reports its version as well.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Tags: , ,
Categories: Identity Manager, Technical Solutions

Disclaimer: As with everything else at NetIQ Cool Solutions, this content is definitely not supported by NetIQ, so Customer Support will not be able to help you if it has any adverse effect on your environment.  It just worked for at least one person, and perhaps it will be useful for you too.  Be sure to test in a non-production environment.

Comment