Feedback
Did this article resolve your question/issue?

   

Article

"JarFile" option in ODBCINST.INI for Cloud Framework drivers

Information

 
Title"JarFile" option in ODBCINST.INI for Cloud Framework drivers
URL NameJarFile-option-in-ODBCINST-INI-for-Cloud-Framework-drivers
Article Number000183028
EnvironmentProduct: Connect XE for ODBC Salesforce driver Progress DataDirect for ODBC for MongoDB, Oracle Service Cloud drivers
Version: 7.x, 8.x
OS: All supported platforms
Database: Salesforce,MongoDB,Oracle Service Cloud
Application: All ODBC applications
Question/Problem Description

Does the JVM Classpath to the sforce.jar , mongodb.jar etc need to be set in the ODBCINSIT.INI registry for Windows or odbcinsit.ini file on Linux/Unix ?

For e.g :
User-added image

Steps to Reproduce
Clarifying Information

The odbcinsit.ini file for Linux/Unix platforms does not have the "JarFile" option
The drivers work without this entry in the registry or odbcinsit.ini file

Error Message
Defect Number
Enhancement Number
Cause
Resolution

The JarFile entry from the ODBCINST.INI section of the registry for the Salesforce ODBC driver , MongoDB driver or any cloud framework driver is used by the driver when constructing the CLASSPATH that will be specified when launching the JVM that is required by the driver. The drivers are coded to look through the entire ODBCINST.INI section of the registry and generate a CLASSPATH value that is comprised of a semicolon delimited list of all the strings specified by the JarFile keys. The driver was coded to operate this way so that any single application would be able to make connections with any of the cloud framework based drivers installed to the machine. Prior to this driver behavior, the driver would only add to the CLASSPATH the jar file for the one source that was being used in the connection thereby preventing connections to any other sources by that application(since only one JVM can be loaded into a process at a time). 

The JarFile option is not required by the driver and is not a mandatory setting since there are multiple code paths taken to generate the CLASSPATH for the JVM it uses. If the driver does not find the jar file it needs to connect on the CLASSPATH that was generated from the JarFile keys, then it will look for the required jar relative to it's current location in the file system by going up one directory and then looking for a java\lib directory containing the necessary jar. Users can also override all of this generated CLASSPATH functionality by specifying the fully qualified path to the driver jar file in your ODBC data source using the JVMClasspath connection property. When a value is specified here, only this value is passed in to the JVM startup command.


If "JarFile" option is set in the ODBCINST.INI registry , the JVMClasspath connection option can be left empty and the driver will read the registry value.

Workaround
Notes
Last Modified Date7/6/2016 5:13 PM
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.