Feedback
Did this article resolve your question/issue?

   

Article

Error numbers are returned in place of error messages with DataDirect drivers on UNIX / Linux

Information

 
TitleError numbers are returned in place of error messages with DataDirect drivers on UNIX / Linux
URL Name3556
Article Number000134771
EnvironmentProduct: Connect/Connect64 for ODBC, SequeLink ODBC client driver, OpenAccess ODBC client driver
Version: All supported versions
OS: All UNIX/Linux platforms
Database: All supported databases
Application: All supported applications
Question/Problem Description
When trying to connect to a database or running a query with the Connect/Connect64 for ODBC, SequeLink ODBC client driver, OpenAccess ODBC client driver, [DataDirect][ODBC 20101 driver] and error numbers like 523 80 6105 6107 20101 are returned instead of an error message.
 
Steps to Reproduce
Clarifying Information
Error MessageSQLSTATE = 81
NATIVE ERROR = 0
MSG = 523 80

SQLSTATE = 60
NATIVE ERROR = 6105
MSG = [DataDirect][ODBC 20101 driver]6105

SQLSTATE = 60
NATIVE ERROR = 6107
MSG = [DataDirect][ODBC 20101 driver]6107

523 638
Defect Number
Enhancement Number
Cause
The ODBC driver manager and/or the ODBC driver library cannot load its message files.
InstallDir is not set correctly in the [ODBC] section of the odbc.ini file or the message files in locale/en_US/LC_MESSAGES are missing.
Resolution
To see the error messages, make sure the following are set correctly:
  • Set the environment variable LANG to en_US : 
    export LANG=en_US (ksh shell)
    setenv LANG en_US (csh shell)
  • Ensure that the environment variable ODBCINI (or ODBC_INI) is pointing to the proper odbc.ini file
  • Ensure that in the [ODBC] section of your odbc.ini file the correct installation path of the ODBC drivers is specified for InstallDir 
    e.g. InstallDir=/opt/odbc
  • Make sure the .mo / .po messages files exist (odbcinstaldir/locale/en_US/LC_MESSAGES) and can be loaded by your application


Act upon the error text which is returned.

For example: 523 80 will be translated to

523 "[DataDirect][ODBC lib]"
80 "Specified driver could not be loaded"

For this error message:
- Verify if the specified driver name location in your odbc datasource is correct
- Verify if the ODBCINI is pointing to the expected odbc.ini
- Verify if the Driver entry of the ODBC data source is pointing to a library specific for this platform (use the 'file driverlibname' command) 
- Verify if the library path environment variable contains the odbc/lib directory
- Verify that the security settings on the drivers and files have not been removed or changed so that the current user no longer has permissions to use the files.
- Ensure to use a 32-bit app with 32-bit ODBC drivers, versus 64-bit app with 64-bit ODBC drivers

Workaround
Notes
All drivers were enhanced in June 2020 to locate the driver and driver manager message files on Unix based systems based on a path relative to the driver's location. Previously, the driver would only search for message files using a path that was based on the "InstallDir" attribute in the odbc.ini or odbcinst.ini files. After the enhancement, if the message files are not located based on this path, the driver searches for message files based on a path that is relative to the driver's location, as specified by the "Driver" attribute in the data source, connection string or odbcinst.ini file.
Last Modified Date1/16/2023 4:34 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.