Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dtp-dev] Proposal for server version discovery in connectivity component in DTP 1.5


Purpose

Currently, it is necessary for the user to specify the database vendor, database version and driver in order to instantiate a driver definition.  Although, it is somewhat desirable to organize the drivers by vendor, it is unnecessarily complicated  to organize the drivers on a per version basis especially since the version can be discovered when a connection is made to the server.   The purpose of this proposal is to remove the requirement of specifying versions from the driver definition UI and optionally from the driver definition.  Note that this change is backward compatible.

Implementation

1)  Database Recognizers

A database recognizer is a class that is registered using the databaseRecognition extension point in the org.eclipse.datatools.connectivity.sqm.core plug-in.  The class implements a method that takes a connection and then returns a DatabaseDefinition if it recognizes the server.

2)  Connection Factory Modifications

The connection factory will be modified as follows:
a)  A DatabaseDefinition based on the vendor and version specified in the driver definition will be associated with the connection.  (This is the current behavior.)
b)  If no vendor and version is specified in the driver definition or the DatabaseDefinition specified cannot be instantiated then the generic JDBC database definition will be associated with the connection.
c) After connection, the database recognizers will be queried.  If they recognize the server then that DatabaseDefinition will used by the connection.

Please respond with any comments or concerns.

Larry Dunnell
RAD Data Tools, DB2 Tooling,  Eclipse WTP Project and Eclipse DTP Project
IBM DB2 Information Management Software


Back to the top