Teradata ODBC 16.20 Driver Manager Message file not found

Linux Operating System

Teradata ODBC 16.20 Driver Manager Message file not found

I have problem with ODBC driver installed on Linux x86_64.

I installed ODBC driver, set variables:

export TD_HOME=/opt/teradata/client/ODBC_64

export ODBCINI=$TD_HOME/odbc.ini



In my odbc.ini file I have:


Teradata ODBC DSN=<set working TD instance>



When I try to run tdxodbc64 application I receive an error:

adhoc: (SQL Diagnostics) STATE=IM002, CODE=0, MSG=[DataDirect][ODBC lib] Driver Manager Message file not found. Please check for the value of InstallDir in your odbc.ini.


What I do wrong?


Re: Teradata ODBC 16.20 Driver Manager Message file not found

I was strugling with ODBC a bit ... 

The problem is in "dependent" and "independent" instalation of ODBC, you have ODBC_XX (independent) and odbc_xx (client dependent). There might be symlinks between those two locations. You might have also another one under "tbuild" structure (+ also under lib, lib64). Depending on what you have/have not set ... odbc manager checks user defined .odbc.ini first, if not present, it will check odbchome and if there is odbc.ini it will use it. Based on "installdir" value  it will look for "odbcinst.ini". Usuall mistake is that user odbc.ini is without the "." or/and InstallDir is wrongly defined, second mistake is usually that "template" odbcinist.ini/obc.ini from any location might have not valid definitions/path. (in my case some .so files were having "lib_" prefix, but actual files were without that prefix.).


Normally, you should copy odbc.ini template somewhere aside under ".odbc.ini" (yes dot is important) and edit it. You can edit it directly in "independent" location. Really edit it and make sure all file exists and path are valid. Inside odbc.ini you just define where you have your installdir (where driver manager looks for odbcinst.ini ..., check that file as well and make sure it is having valid path to existing files/drivers.). Define ODBCHOME,ODBCINI,ODBCINST variables correctly. Ensure you have updated PATH with path to odbchome and also lib subfolder. No need to use LD_xxx anymore (since 15.xx i think). Aside that check LC_ALL,LC_LANG,LANG variables, define accordingly to your locale.


Here is screenshot from my testing (td and ora odbc connection using tpt)  ... hope it help even it is 15.xx and not 16.20.

Left text file is odbc.ini and second one is odbcinst.ini

tdex_vs_oraxe (1).pngtdexpress15.10 with odbc connection setup

Guide: https://docs.teradata.com/reader/xM8ikCYjHVqRVRRtAf6b~g/XrRnL1DShkVZCA4E1zSpMQ