Troubleshooting
Problem
Netezza ODBC driver on Linux results in "Segmentation Fault" error when the driver-manager loads the driver
Symptom
When trying to get the Netezza ODBC driver working on Linux, I get a "Segmentation Fault" error when the driver-manager loads the driver.
Environment
This has happened with both the DataDirect and unixODBC driver-managers. I get the same error on both RHEL 4.6 and RHEL 5.1, which are 64-bit installations.
Resolving The Problem
The best way to determine the root cause of this error is to turn on ODBC debugging and review the log. A common root cause is that the translation libraries cannot be found. You must ensure that these libraries are present and in the same directory as the driver. The translation library directory can be located anywhere and the driver is named libnzodbc.so. The translation libraries should be in the same directory as the driver, otherwise you need to specify their location (by using the LD_LIBRARY_PATH environment variable).
The directory with the file should look something like:
- -rwxrwxrwx 1 nz nz 337901 Aug 7 11:25 libnzodbc.so
-rwxrwxrwx 1 nz nz 9267264 Jul 2 14:56 libnzodbcT_I_U16.so
-rwxrwxrwx 1 nz nz 9267192 Jul 2 14:56 libnzodbcT_I_U32.so
-rwxrwxrwx 1 nz nz 9263044 Jul 2 14:56 libnzodbcT_I_U8.so
-rwxrwxrwx 1 nz nz 11711 Jul 2 14:56 libnzodbcT_L9_U16.so
-rwxrwxrwx 1 nz nz 11775 Jul 2 14:56 libnzodbcT_L9_U32.so
-rwxrwxrwx 1 nz nz 9352 Jul 2 14:56 libnzodbcT_L9_U8.so
(The above output is intended to familiarize you with the file names; you should ignore the dates and file sizes.)
1. Find the location of the driver in the debug log. For this example, the location is /usr/local/nz/lib.
- Driver Details
File = '/usr/local/nz/lib/libnzodbc.so'
Translation Library = 'libnzodbcT_I_U8.so'
The Translation Library it is trying to use is libnzodbcT_I_U8.so and the debug log states that it cannot be found.
From the debug log:
- [2008-09-10 10:34:22.0607 EST] [23977] [-1771642272] getTranslationHandles: Translation library not found
2. You need to either have the driver (libnzodbc.so) and translation library (libnzodbcT_I_U8.so ) in the same directory or have LD_LIBRARY_PATH set to point to the directory in which the libnzodbcT_I_U8.so file resides. When either of these criteria are met, the Segmentation Fault error will not appear and you will be able to connect properly.
Historical Number
NZ017811
Was this topic helpful?
Document Information
More support for:
IBM PureData System
Software version:
1.0.0
Document number:
463305
Modified date:
17 October 2019
UID
swg21571080