persistence@glassfish.java.net

Re: [Fwd: Proposed code changes to automatically detect databaseplatform]

From: Mitesh Meswani <mitesh.meswani_at_Sun.COM>
Date: Thu, 15 Dec 2005 11:51:42 -0800

Lance J. Andersen wrote:

>
>
> Mitesh Meswani wrote:
>
>> Hi Gordon,
>>
>> The current property file contains mapping for all the databases
>> platforms that we currently have access to. It would be great to have
>> mapping for all the platform in the property file. Mapping for
>> following platforms are missing in the property file
>>
>> AccessPlatform
>> AttunityPlatform
>> CloudscapePlatform
>> DB2MainframePlatform
>> DBasePlatform
>> HSQLPlatform
>> InformixPlatform
>> SQLAnyWherePlatform
>> TimesTenPlatform
>>
>> Is it possible for you to provide what does
>> DatabaseMetaData#getDatabaseProductName() return for above platforms
>> for various supported driver combination. I will update the property
>> file with appropriate regular expression corresponding to that.
>
>
> getDatabaseProductName() will/can differ based on the JDBC Driver
> being used. For example jConnect kept all of this in set of tables
> that you had to initialize so the value changed as the product name
> changed. the DD drivers also used to specify a different name (as an
> example) for sybase

The return value of getDatabaseProductName() does vary based on the
driver being use. However, the proposed mapping property file can
successfully detect vendor for the supported databases using native,
data direct and inet drivers.

Thanks,
Mitesh

>
>>
>> Thanks,
>> Mitesh
>>
>> Gordon Yorke wrote:
>>
>>> When connecting to SQLAnywhere or SybaseIQ the SQLAnyWherePlatform
>>> should be used. The known vendors in the properties file should be
>>> expanded to cover all supported databases with the correct platform.
>>> --Gordon
>>
>>