ODBC: Mac OS: isql is not supported

Details

Detail name Value
Changelog Number 13394
Type Bug
Status Resolved
Affected Versions
Fix Versions Exasol 7.1.3
Resolution Date 2021-11-26

Description

The ODBC Driver was not supported with isql on MacOS. When the ODBC driver was used by isql on MacOS, the following error was produced:

osx1014:~ mom638$ ODBCINI=/Users/mom638/EXASolution_ODBC-7.1.2/odbc.ini unixODBC-2.3.9/build/bin/isql -v exasolution-io418sys_64
[01000][unixODBC][Driver Manager]Can't open lib '/Users/mom638/EXASolution_ODBC-7.1.2/lib/darwin/x86_64/libexaodbc-io418sys.dylib' : file not found
[ISQL]ERROR: Could not SQLConnect

The error was produced because the kerberos library is not linked with the ODBC driver.

Workaround

Force the link between the ODBC driver and the kerberos library.

Method 1

DYLD_INSERT_LIBRARIES=<Kerberos Library Path> ODBCINI=<ODBC INI Path> unixODBC-2.3.9/build/bin/isql -v <DSN Name>

 Example:

DYLD_INSERT_LIBRARIES=/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos ODBCINI=/Users/mom638/EXASolution_ODBC-7.1.2/odbc.ini unixODBC-2.3.9/build/bin/isql -v exasolution-io418sys_64

 
Method 2
Export the DYLD_INSERT_LIBRARIES variable and assign it to kerberos library path.

export DYLD_INSERT_LIBRARIES=<Kerberos Library Path> 

ODBCINI=<ODBC INI Path> unixODBC-2.3.9/build/bin/isql -v <DSN Name>

Example:

export DYLD_INSERT_LIBRARIES=/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos 

ODBCINI=/Users/mom638/EXASolution_ODBC-7.1.2/odbc.ini unixODBC-2.3.9/build/bin/isql -v exasolution-io418sys_64

Fix

isql works directly with the ODBC driver without manual intervention.