cancel
Showing results for 
Search instead for 
Did you mean: 

Teradata ODBC doesn't work with DS XI 3.2 on AIX

Former Member
0 Kudos

Hi,

We're experiencing a strange error when trying to load data into a Teradata database. We installed the 64 bit client utilites tdicu, TeraGSS, and tdodbc clients on Windows and could create the ODBC data source and import tables from Teradata in the Desginer. However, after installing the same client utilities in AIX version and executing the job on the AIX server, we always get the following error:

(12.2) 07-27-10 20:58:01 (E) (790772:0001) CON-120103: |Data flow DF_Load_TD_BP

System call <LoadLibrary> to load and initialize functions failed for </usr/odbc/drivers/tdata.so>. Please make sure the shared library is installed and located correctly.

(12.2) 07-27-10 20:58:01 (E) (782374:0001) CON-120103: |Data flow DF_Load_TD_BP

System call <LoadLibrary> to load and initialize functions failed for </usr/odbc/drivers/tdata.so>. Please make sure the shared library is installed and located correctly.

We exhausted all possible researches and all kinds of configurations including uninstalling the 64 bit client and installing the 32 bit client. But we're still not unable to resolve this issue. There is no detailed error message in the ODBC trace file either. I really appreciate it if anyone can help out since this is a critical success criteria to win a strategic customer.

Here is the configuration:

AIX: 5.6 64 bit

DS: XI 3.2 64 bit

Teradata: 12.0 64 bit

This is odbc.ini file

-


[ODBC]

InstallDir=/usr/odbc

Trace=0

TraceDll=/usr/odbc/lib/odbctrac.so

TraceFile=/usr/joe/odbcusr/trace.log

TraceAutoStop=0

[ODBC Data Sources]

TeraData=tdata.so

[TeraData]

Driver=/usr/odbc/drivers/tdata.so

Description=Default DSN is Teradata 5100

DBCName=Teradata-dns-gss.devfg.rbc.com

LastUser=

Username=PDWPCRCT

Password=

Database=

DefaultDatabase=DDWRCTDS

-


Installed 32-bit software components in this order

drwxr-x--- 2 db2wd1 dbwd1adm 256 Aug 12 2008 tdicu = Shared Common Components for Internationalization

drwxr-x--- 2 db2wd1 dbwd1adm 256 Oct 19 2009 TeraGSS = Teradata Generic Security Services

drwxr-x--- 2 db2wd1 dbwd1adm 256 Nov 20 2007 cliv2 = Teradata Call-Level Interface version 2 (CLIv2)

drwxr-x--- 2 db2wd1 dbwd1adm 256 Jan 26 2010 bteq = Basic Teradata Query (BTEQ)

drwxr-x--- 2 db2wd1 dbwd1adm 256 Jan 22 2010 fastexp = Teradata FastExport

drwxr-x--- 2 db2wd1 dbwd1adm 256 Jan 19 2010 fastld = Teradata FastLoad

drwxr-x--- 2 db2wd1 dbwd1adm 256 Feb 01 15:13 mload = Teradata MultiLoad

drwxr-x--- 2 db2wd1 dbwd1adm 256 Mar 13 2009 npaxsmod = Named Pipes Access Module

drwxr-x--- 2 db2wd1 dbwd1adm 256 Jun 03 2009 piom = = Teradata Data Connector

drwxr-x--- 2 db2wd1 dbwd1adm 256 Dec 30 2008 tdodbc = ODBC Driver for Teradata

-


File al_env.sh

  1. cat al_env.sh

#!/bin/sh

LINK_DIR=/usr/sap/WD1/businessobjects/dataservices

export LINK_DIR

if [ ! -f $LINK_DIR/bin/al_engine ]; then

echo "Could not file $LINK_DIR/bin/al_engine. Not a valid installation."

exit 1

fi

JAVA_HOME=$LINK_DIR/../bobje/jdk

export JAVA_HOME

BOE_REGISTRYHOME=$LINK_DIR/registry

export BOE_REGISTRYHOME

DB2DIR=/db2/db2wd1/db2_software

export DB2DIR

PATH=$JAVA_HOME/bin:$LINK_DIR/bin:$DB2DIR/bin:/opt/teradata/client/bin:/usr/odbc/bin:$PATH

export PATH

LIBPATH=$LINK_DIR/bin:$LINK_DIR/ext/webservice-c/lib:$DB2DIR/lib64:$DB2DIR/lib:/usr/odbc/drivers:/usr/odbc/lib:$LIBPATH

export LIBPATH

COPERR=/opt/teradata/client/lib

export COPERR

ODBCINI=/usr/odbc/odbc.ini

export ODBCINI

. $LINK_DIR/bin/ebf_patch.sh

. $LINK_DIR/bin/db_env.sh

-


Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

since DS is 64-bit on AIX you will need 64-bit Teradata Client on AIX

from the error message DS ODBC Driver Manager is not able to load the /usr/odbc/drivers/tdata.so library, this can happen for following reasons

the LIBPATH doesn't have /usr/odbc/drivers (I can see the loaction is the LIBPATH so may not be the case)

the LIBPATH has /usr/odbc/drivers in it, but its not before the 32-bit driver location, the library will be loaded from the location that is listed in the path first, so the driver might be trying to load 32-bit version of library

the library is not 64-bit (use file command to see what type of file is this)

some dependent libs for tdata.so are missing (use ldd /usr/odbc/drivers/tdata.so) and in the output check if something is reported as missing