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.