Teradata AIX ODBC Data Source

Connectivity
Enthusiast

Teradata AIX ODBC Data Source

Hello,

We are facing some issues to create an ODBC Data source in AIX for Teradata. We are using the Teradata ODBC Driver version 3.03. All other components like the Teradata GSS client package (TeraGSS_aix-power32) & Shared common components for Internationalization for Teradata (tdicu) seems to be present as well. This is the first time we are trying to add a teradata data source.

Here is the following entry in the .odbc.ini file:

[TERADB]
Driver=/usr/odbc/drivers/tdata.so
Description=Default DSN is Teradata 5100
DBCName=abccop1
DBCName2=abccop2
DBCName3=abccop3
DBCName4=abccop4
DBCName5=abccop5
DBCName6=abccop6
LastUser=
Username=terauser
Password=
Database=
DefaultDatabase=tera_base_views

I have added an entry each for all the abccopn (n=1,2,3...) in /etc/hosts file.

I have added the following entry to the .profile file for the user:
export LIBPATH=/usr/teragss/aix-power.32/client/lib:/usr/odbc/drivers:${LIBPATH}

I am tring to test the ODBC connection through adhoc(Sample C application provided with the Terdata ODBC installation) and it is failing. The error information which I have is very limited. I only get "Illegal Instructions" or "Illegal Instructions(coredump)" message.

I have tried to connect to other DB2 ODBC data sources using the adhoc application and it seems to work fine. The teradata configuration is also correct as I have tried to connect it from Windows ODBC and it works.

Has anyone faced this before? Is there something which I am not doing right or missing out?
9 REPLIES
Teradata Employee

Re: Teradata AIX ODBC Data Source

ODBC driver v3.03 doesn't use TeraGSS & TDICU. Either use a newer driver or change LIBPATH to reference /usr/odbc/lib rather than the teragss lib.
Enthusiast

Re: Teradata AIX ODBC Data Source

Hi Fred,

I changed the LIBPATH as you mentioned but unfortunately it didnt work. If nothing works I may have to move to a newer driver but what I think is that even the basic versions of the driver should allow me to atleast connect to the database. Shouldnt it?
Teradata Employee

Re: Teradata AIX ODBC Data Source

Does your .odbc.ini file contain the required header sections?

[ODBC]
InstallDir=/usr/odbc

[ODBC Data Sources]
TERADB=tdata.so

Is your ini file $HOME/.odbc.ini ? If not you need to set ODBCINI environment variable to the full pathname of the actual file.

And your LIBPATH now has /usr/odbc/lib:/usr/odbc/drivers ?

Yes, even back-level driver should connect or give you a readable message, not just coredump. Is this the base 3.03.00.00 level off the CD or current EFix level off the patch server?

Enthusiast

Re: Teradata AIX ODBC Data Source

Hi Fred,

ODBC Files has the required header sections which you mentioned. I have an ODBCINI env variable which points to the .odbc.ini file which I am using.

LIBPATH has /usr/odbc/lib:/usr/odbc/drivers.

The version which I am not quite sure.

"man tdata" tells me the version as 3.03.00
but when I switch on the DSN trace it tells me "Teradata ODBC Driver Release 3.05.00.00"
Enthusiast

Re: Teradata AIX ODBC Data Source

Hi,

Some more info.. I turned on the DSN Trace and the log is pasted below. I may be wrong but I feel that line 32 below is the cause of this problem. The connect call from the ODBC driver returns EWOULDBLOCK or EINPROGRESS which seems the reason why the connection isnt going further. Does anyone have any idea of what is the cause for this or maybe something else in the log which may seem to be a problem?

**********************
Teradata ODBC Driver Release 3.05.00.00 Trace File: Enabled

Tracing enabled for connection number 2 to TERADB
1 2 Enter SQLConnect(hdbc=2) [ connect.cpp 2938 ]
2 2 ...DSN="TERADB", cbDSN=6 [ connect.cpp 2941 ]
3 Host Choosen = 0, Name = abccop1 [ connect.cpp 826 ]
4 bUse2xAPPCustomCatalogMode = 0 [ connect.cpp 1393 ]
5 m_bUseDateforTSParams = 0 [ connect.cpp 1412 ]
6 m_bNoCreateParamsforTS = 0 [ connect.cpp 1429 ]
7 m_bMaxCharsize32K = 0 [ connect.cpp 1446 ]
8 fDontUseHelpDatabase = 0 [ connect.cpp 1690 ]
9 fIgnoreSearchPattern = 0 [ connect.cpp 1705 ]
10 2 .....ClientKanjiFormat = EUC [ connect.cpp 1858 ]
11 "terauser", [ connect.cpp 2956 ]
12 "********", [ connect.cpp 2977 ]
13 Before calls to Init() and Logon() -- Authentication mechanism="", boolean=0, enum=0 [ connect.cpp 3017 ]
14 Authentication parameter="", boolean=0 [ connect.cpp 3019 ]
15 Before calls to Init() and Logon() -- Username="terauser" [ connect.cpp 3021 ]
16 Before calls to Init() and Logon() -- Password="********" [ connect.cpp 3023 ]
17 2 DBC::Init [ dbccli.cpp 194 ]
18 2 DBC::Init returns SQL_SUCCESS [ dbccli.cpp 213 ]
19 2 DBC::Logon(Reconnect=0) [ dbccli3.cpp 229 ]
20 2 ...ChosenHost is: 0 [ ConnectToHost.cpp 140 ]
21 2 ...index of DBCName in odbc.ini: 0 [ ConnectToHost.cpp 204 ]
22 2 ... Host is abccop1 [ ConnectToHost.cpp 206 ]
23 ConnectToHostProcessing logon = (0) [ ConnectToHost.cpp 544 ]
24 2 ...host is abccop1 [ ConnectToHost.cpp 891 ]
25 ...Created socket 8 [ cwinsock.cpp 687 ]
26 2 ...setting socket options [ ConnectToHost.cpp 992 ]
27 ...SetSockOpt on socket# 8 with option=8 successful [ cwinsock.cpp 668 ]
28 ...SetSockOpt on socket# 8 with option=1 successful [ cwinsock.cpp 668 ]
29 ...SetSockOpt on socket# 8 with option=128 successful [ cwinsock.cpp 668 ]
30 Setting socket connect timeout value to 20 [ cwinsock.cpp 152 ]
31 ...CWinsock::Connect (socket# 8, addr=abccop1, port#=1025) [ cwinsock.cpp 241 ]
32 ...Connect returned EWOULDBLOCK or EINPROGRESS [ cwinsock.cpp 253 ]
33 CSingleSignOn:m_pDBC is non-null [ SingleSignOn.cpp 99 ]
34 2 ...sending Config message to Teradata [ CopKindConfigMsg.cpp 199 ]
35 2 ...sending CopKindConfig message to Teradata [ CopKindConfigMsg.cpp 210 ]
36 Header len = 52, sizeof header is 52 [ ctlanmsg.cpp 239 ]
37
Authentication Field set to : (0x46 0xc417df01) [ cdbc.cpp 1887 ]
38 Message Len = 12 [ ctlanmsg.cpp 384 ]
39 Length to send = 64 [ ctlanmsg.cpp 385 ]
40 ...Output Buffer :-( original, first 1000 bytes) [ ctlanmsg.cpp 392 ]
41 . . . . 4 . . . 8 . . . c . . .
42 0 03010A0000070000000C000000000000
43 10 000000000000000000000046C417DF01 FÄ ß
44 20 0000000000FF00000000000000000000 ÿ
45 30 0000000000A6000800000000002A0004 ¦ *
46 2 ...CopKindConfig sent... [ CopKindConfigMsg.cpp 231 ]
47 Waiting for CopKindConfig Response... [ CopKindConfigMsg.cpp 260 ]
48 2 ...waiting for Config Response... [ CopKindConfigMsg.cpp 261 ]
49 ...CWinsock::Recv on socket# 8 returned 52 bytes [ cwinsock.cpp 579 ]
50 ...CWinsock::Recv on socket# 8 returned 553 bytes [ cwinsock.cpp 579 ]
51 2 ...Input Message: [ CopKindConfigMsg.cpp 325 ]
52 2 . . . . 4 . . . 8 . . . c . . .
53 2 0 03020A00000700000229000000000000 )
54 2 10 000000000000000000000046C417DF01 FÄ ß
55 2 20 0000000005FF00000000000000000000 ÿ
56 2 30 00000000002B01BB000003E8000003E8 + » è è
57 2 40 007800043FFC00003FFD00003FFE0000 x ?ü ?ý ?þ
58 2 50 3FFF0000001200000001000200030004 ?ÿ
59 2 60 00050006000700080009000A000B000C
60 2 70 000D000E000F00100011FF000004BE00 ÿ ¾
61 2 80 55544631362020202020202020202020 UTF16
62 2 90 2020202020202020202020202020BF00 ¿
63 2 A0 55544638202020202020202020202020 UTF8
64 2 B0 2020202020202020202020202020FF00 ÿ
65 2 C0 41534349492020202020202020202020 ASCII
66 2 D0 2020202020202020202020202020C000 À
67 2 E0 45424344494320202020202020202020 EBCDIC
68 2 F0 20202020202020202020202020204E01 N
69 2 100 000100015400070078310000640000FA T x1 d ú
70 2 110 000000FD00000000007CFF0600000FFF ý |ÿ ÿ
71 2 120 B4000FFFB400000100000000BF000000 ´ ÿ´ ¿
72 2 130 100000FFFF000008000000001E000000 ÿÿ
73 2 140 40000009F50000FAE60000F230000079 @ õ úæ ò0 y
74 2 150 18000000120000FA0000FA00000000FA ú ú ú
75 2 160 0000007D0000007D000000FA000000FA } } ú ú
76 2 170 00000009F50000000600000006000000 õ
77 2 180 060009000101000A000C010101010000
78 2 190 000000000000000B0007010101010100
79 2 1A0 01000C00020100000D003E5632522E30 >V2R.0
80 2 1B0 362E30312E30312E3439202020202020 6.01.01.49
81 2 1C0 20202020202020202030362E30312E30 06.01.0
82 2 1D0 312E3531202020202020202020202020 1.51
83 2 1E0 20202020202020202000060002014900 I
84 2 1F0 A5001900000001000100050100020008 ¥
85 2 200 060101330003000400A7003100000001 3 § 1
86 2 210 0000000D2B06010401813F0187740101 + ? t
87 2 220 090010000C0000000300000001001100
88 2 230 0C000000010000001400A70024000000 § $
89 2 240 010000000C2B06010401813F01877401 + ? t
90 2 250 140011000C0000000100000046 F t
91 2 ...leaving GetResponse for Config Msg... [ CopKindConfigMsg.cpp 350 ]
92 Processing CopKindConfig Response... [ CopKindConfigMsg.cpp 403 ]
93 2 ... IFPCount = 4 [ CopKindConfigMsg.cpp 1141 ]
94 2 ...IFPPhyProcNo=16380, state=0 [ CopKindConfigMsg.cpp 1149 ]
95 2 ...IFPPhyProcNo=16381, state=0 [ CopKindConfigMsg.cpp 1149 ]
96 2 ...IFPPhyProcNo=16382, state=0 [ CopKindConfigMsg.cpp 1149 ]
97 2 ...IFPPhyProcNo=16383, state=0 [ CopKindConfigMsg.cpp 1149 ]
98 2 ... AMPCount = 18 [ CopKindConfigMsg.cpp 1156 ]
99 2 ... m_NumCh****ts = 4 [ CopKindConfigMsg.cpp 1171 ]
100 2 ... m_Ch****tCode=190, UTF16 [ CopKindConfigMsg.cpp 1203 ]
101 2 ... m_Ch****tCode=191, UTF8 [ CopKindConfigMsg.cpp 1203 ]
102 2 ... m_Ch****tCode=255, ASCII [ CopKindConfigMsg.cpp 1203 ]
103 2 ... m_Ch****tCode=192, EBCDIC [ CopKindConfigMsg.cpp 1203 ]
104 Unhandled FEATURE : 7 [ CopKindConfigMsg.cpp 1603 ]
105 Unhandled FEATURE : 9 [ CopKindConfigMsg.cpp 1603 ]
106 SQLCap_Feature : 10 [ CopKindConfigMsg.cpp 1537 ]
107 SQLCap_Length : 12 [ CopKindConfigMsg.cpp 1539 ]
108 SQLCap_UPSERT=1 [ CopKindConfigMsg.cpp 1545 ]
109 SQLCap_ArraySupport=1 [ CopKindConfigMsg.cpp 1555 ]
110 Multipart Feature: 11 [ CopKindConfigMsg.cpp 1480 ]
111 Multipart Feature Length : 7 [ CopKindConfigMsg.cpp 1482 ]
112 Lob=1 [ CopKindConfigMsg.cpp 1484 ]
113 AltParcel=1 [ CopKindConfigMsg.cpp 1490 ]
114 ExtResp=1 [ CopKindConfigMsg.cpp 1495 ]
115 APHResponse=1 [ CopKindConfigMsg.cpp 1504 ]
116 EnhancedStatementResponse=0 [ CopKindConfigMsg.cpp 1510 ]
117 UDT_Support=1 [ CopKindConfigMsg.cpp 1516 ]
118 Unhandled FEATURE : 12 [ CopKindConfigMsg.cpp 1603 ]
119 Unhandled FEATURE : 13 [ CopKindConfigMsg.cp
Teradata Employee

Re: Teradata AIX ODBC Data Source

OK. If it's really v3.05 then you DO need the TeraGSS library in LIBPATH after all. But you should install the latest EFix level of the driver and shared libraries.
Enthusiast

Re: Teradata AIX ODBC Data Source

Hi Fred,

Thanks for your inputs. The latest efix for 3.05 resolved the issue.

Re: Teradata AIX ODBC Data Source

Hi,
I have Informatica 8.1 and have to use Teradata as Backend. I created ODBC connection and I am able to import teradata tables as source and target. I created a relational connection for Teradata and tried to execute my workflow but I am getting error. In teradata relational connection I have given connection name as edw_dev , user_id and Password and data source name again as edw_dev as that is my system dsn name in ODBC connection. The database name is kept as blank.

The error which I am getting is

Severity Timestamp Node Thread Message Code Message
ERROR 8/22/2007 7:52:36 AM node01_nyrofclnxinformatica READER_1_1_1 RR_4036 Error connecting to database [
[unixODBC][Driver Manager]Data source name not found, and no default driver specified
Database driver error...
Function Name : Connect
Database driver error...
Function Name : Connect
Database Error: Failed to connect to database using user [b_sott_dev] and connection string [edw_dev].].

What could be possible reason for this? Is there any problem with the relational database connection I have provided or is it problem with ODBC.

Any help will be highly appreciated.

Thanks,
Ritesh Kumar

Re: Teradata AIX ODBC Data Source

AS you mentioned that efix for 3.05 resolved the issue, could you let me know where would I get this?

Also I am using the TD 12 driver on AIX 64 machine.

Also U mentioned " ODBC connection through adhoc(Sample C application provided with the Terdata ODBC installation" where will I get this C program and is there any particular way to execute this?

Basically what I need is a tool/ utility to test the driver installation on AIX 64 machine.

I need this help ASAP.

Thanks
Venu