Kbase 19649: V9 and ODBC Drivers: Is this a SQL-89 or SQL-92 Call?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  2/26/2009 |
|
Status: Verified
GOAL:
How to determine if an ODBC issue is SQL-92 or SQL-89.
GOAL:
Is this a SQL-89 or SQL-92 issue?
FACT(s) (Environment):
Progress 9.x
All Supported Operating Systems
FIX:
This solution has been generated to assist TSEs and customers in determining if an ODBC or ESQL issue relates to SQL-89 or SQL-92. Because both SQL-89 and SQL-92 are supported in V9.X, there is some confusion as to which product is being used. .
Please note that in this context, SQL connectivity and ODBC are inter-related. SQL connectivity includes ODBC, JDBC and ESQL/C connections. The most common of these is ODBC, which is why this solution has an ODBC focus.
Step by step details:
- Check the ODBC driver. In the ODBC Data Source Administrator tool (in the Control Panel), have a look at the data source that is being used. Look specifically at the name of the driver, NOT the version. If the name states that it is a "Progress SQL-92" driver, then this is specifically the SQL-92 driver. If the driver name does not contain "Progress SQL-92", then it is a SQL-89 driver.
Also check the DLL of the driver from the Drivers tab. If the driver DLL is PGPRO9*.DLL or IVPRO9*.DLL (for Version 9.0B), this is a SQL-92 driver. If the driver DLL is IVPRO1*.DLL, this is a SQL-89 driver. The exact name will depend on the version of the driver (Merant DataDirect driver V3.5 uses IVPRO14.DLL, whereas V3.6 uses IVPRO15.DLL).
- Check to see where the ODBC driver is obtained. If it is the driver that was shipped with Progress, and installed as part of the Progress install, then it is SQL-92 driver. If it is downloaded or purchased from Merant, or purchased from Progress, then it is the SQL-89 driver.
The only ODBC driver that is shipped with 9.X, and installed as part of the Progress install, is the SQL-92 driver. The SQL-89 driver (Merant DataDirect ODBC Driver) can either be downloaded from Merant's web site (as an evaluation version) or purchased through Merant or Progress. It is NOT installed as part of the Progress install.
- See if an OIB and/or OID is being used. These are specific to SQL-89, they are not needed with the SQL-92 connection.
- Make sure these technologies are not mixed. It is typical for somebody to try using the "free" ODBC driver obtained with Progress V9 with existing OIB/OID. This is not designed to work. If you'd like to use the "free" ODBC driver, you will have to use SQL-92, and configure the database for such. If you'd like to use SQL-89 (the OIB/OID), you will need to download/purchase the Merant DataDirect ODBC driver.
- Note the DLLs required for SQL-89 vs SQL-92 issues.
The DLLs shipped with Progress for database connectivity are:
SQL-89 involves esql32.dll and/or prosql32.dll.
SQL-92 involves procli92.dll
These are not interchangeable. Make sure get the correct DLLs.
- For JDBC issues, you should check the driver. The SQL-92 engine does have a native JDBC driver, but there are other JDBC drivers available which allow users to use JDBC via SQL-89 to access the database (typically, this is OpenLink, used with Apptivity).
- For ESQL issues, check whether you are using the correct precompiler. SQL-89 uses the sqlcpp preprocessor. SQL-92 uses the esqlc precompiler. These are not interchangeable.