All Forums Connectivity
Terala 1 post Joined 03/11
06 Mar 2011
Teradata DB connection using ODBC Thru IBM Information Server DataStage

Hi,
I am having issues to connect to TearaData using ODBC drivers provided by Teradata TTU's. If i try to connect using Information Server provided ODBC drivers, it is not able to source the libraries - could be due to 32 bit drivers of TeraGSS. Any one ran into similar issue?
Appreciate any information. Also i am looking for an example how to connect from Linux command line to Teradata using ODBC drviers?

Here is my environment info -

Operating system = RedHat Linux 5.5
Information Server = 8.5 version
TTU's on Linux box = 13.0 version with few patches for TPT

Appreciate,

~ST

vhari 111 posts Joined 12/08
18 Mar 2011

how to connect from Linux command line to Teradata using ODBC drviers:

- Install Teradata ICU, TeraGSS and ODBC pkgs. in sequence.
- set ODBCINI environment variable to point to your odbc.ini, for example,

export ODBCINI=/opt/teradata/client/ODBC_64/odbc.ini

- Update DBCName entry under [testdsn] in $ODBCINI file, to point to your Teradata database. Supply database name or IP-address. For example, your [testdsn] section in odbc.ini looks like

[testdsn]
Driver=/opt/teradata/client/ODBC_64/lib/tdata.so
Description=Teradata running Teradata V1R5.2
DBCName=teradatadev<\b>
LastUser=
Username=
Password=
Database=
DefaultDatabase=

- export NLSPATH environment variable,

export NLSPATH=/opt/teradata/client/13.10/odbc_64/msg/%N.cat

- run the sample application installed by ODBC Driver pkg,

/opt/teradata/client/13.10/odbc_64/samples/C

- When it prompt, supply the DSN name(for example testdsn), database user name and password. The sample application connects to database, and can take SQL request input, execute and display the results.

islanderman 40 posts Joined 03/14
27 Mar 2014

Hey Vhari, I know it's been a few years since you posted this but I'm still trying to get my redhat installation completed.  I had to install the unixODBC driver to get the installation completed.  I don't have root but was able to install the packages into a customer directory.  I have the LD_LIBRARY_PATH set for both the path to the unixODBC lib and the Teradata libs.  I have ODBCINI set to the ~/teradata/client/ODBC_64/odbc.ini path.  I have the TERADSN entries in the odbc.ini file.  I have edited the odbcinst.ini file in the same path with the following:
[ODBC DRIVERS]

Teradata=Installed

 

[TERADSN]

Driver=/home/mechid/teradata/client/ODBC_64/lib/tdata.so

APILevel=CORE

ConnectFunctions=YYY

DriverODBCVer=3.51

SQLLevel=1

 

My odbcinst -j looks like this.  Do I need to change those entries to the teradata paths from the unixODBC path?  If so do you know how?

 

=> odbcinst -j

unixODBC 2.3.2

DRIVERS............: /home/mechid/etc/unixODBC/odbcinst.ini

SYSTEM DATA SOURCES: /home/mechid/etc/unixODBC/odbc.ini

FILE DATA SOURCES..: /home/mechid/etc/unixODBC/ODBCDataSources

USER DATA SOURCES..: /home/mechid/teradata/client/ODBC_64/odbc.ini

SQLULEN Size.......: 8

SQLLEN Size........: 8

SQLSETPOSIROW Size.: 8

 

When I run the isql command to connect I"m getting:
  [ISQL]ERROR: Could not SQLConnect

I also have a perl script trying to use DBD::ODBC and I get this error:

 

  DBI 1.622-ithread default trace level set to 0x0/1 (pid 2011 pi 11136010) at DBI.pm line 276 via SendRumReports

.pl line 4

non-Unicode login6_sv

dbd_db_login6

    SQLDriverConnect 'TERADSN', 'jf3579', 'xxxx'

    SQLConnect 'TERADSN', 'jf3579'

         DESTROY for DBI::db=HASH(0x1115b120) ignored - handle not initialised

 

I think I'm close but I could be totally wrong.  

vhari 111 posts Joined 12/08
27 Mar 2014

islanderman:
1)
You wrote : "I had to install the unixODBC driver to get the installation completed."
I do not quite follow this, why you had to install unixODBC ?
2)
I also noticed you updated the odbcinst.ini to add "[TERADSN]", I don't know what it is meant for.  You do not have update the odbcinst.ini that comes with Teradata ODBC driver package.  Please note, odbc.ini is not the same as odbcinst.ini.
Please follow the instructions in my earlier post in this thread, and let me know if you encounter any error at any of the step.  If you have the basic environment ready and connectivity test is successful, then you can work on configuring PERL.
 

islanderman 40 posts Joined 03/14
27 Mar 2014

Sorry about the confusion.  First I tried to install DBD::ODBC from cpan but it complained that I needed the unixODBC driver, so I installed it.  I then installed DBD::ODBC and then I installed the following from teradata.  All of the installs were to a custom directory since i don't have root.
tdicu__linux_indep.14.10.00.00-1.tar.gz
tdodbc__linux_indep.14.10.00.00-1.tar.gz
TeraGSS_linux_x64__linux_indep.14.10.00.06-1.tar.gz
I am sorry I confused you with the odbcinst.ini file setup.  The instructions that I could find for editing the odbc.ini and the odbcinst.ini files are confusing.  If I follow your instructions from above , this is what I have in my odbc.ini file.  

[TERADSN]

Driver=/home/mechid/teradata/client/14.10/odbc_64/lib/tdata.so

Description=ATTSL06/EDWP

DBCName=cnewp.sbc.com

LastUser=

Username=

Password=

Database=

DefaultDatabase=

SessionMode=Teradata

UseNativeLOBSupport=Yes

TraceFile = /home/mechid/logs/tracedsn.log

Trace=Yes

 

[ODBC Data Sources]

TERADSN=tdata.so

 

My LD_LIBRARY_PATH has been updated to include paths to the unixODBC lib and the teradata libs.  My ODBCINI is set to /home/mechid/etc/odbc.ini and that is what is reflected above.  
The cat file is ~/teradata/client/14.10/odbc_64/msg/tdodbc.cat  and I have set the NLSPATH.  However I'm not sure what to kickoff from samples/C

=> ls -l

total 136

-rwxr-xr-x 1 d1car1m6 d1car1m6 31169 Jan 16  2013 adhoc

-rwxr-xr-x 1 d1car1m6 d1car1m6 81205 Jan 16  2013 adhoc.c

-rwxr-xr-x 1 d1car1m6 d1car1m6  3826 Mar 25 16:24 common.includes

-rwxr-xr-x 1 d1car1m6 d1car1m6 10099 Jan 16  2013 error.c

-rwxr-xr-x 1 d1car1m6 d1car1m6  1411 Jan 16  2013 Makefile

 
Finally some commands show
 => odbcinst  -s -q

[TERADSN]

 

 

And when I attempt to use isql I get (i left off the password)

 

=> isql -v TERADSN jf3579 xxxxxx

[ISQL]ERROR: Could not SQLConnect

 

Please let me know anything you'd like me to post.  One thing is I can't seem to get any trace file information from the isql command?

vhari 111 posts Joined 12/08
27 Mar 2014

Teradata ODBC driver is supported with DataDirect ODBC driver manager (shipped with Teradata ODBC driver package), not the unixODBC.   DBC::ODBC module by default configured to work unixODBC, so you need to re-build DBD::ODBC module to work with DataDirect ODBC driver manager.
Instead of tweaking in what you have installed, I suggest you un-install all you have previously installed and follow instructions in my post on "18 Mar 2011" in this thread to setup Teradata ODBC driver.  Verify the connectivity using the tool located in
".../Teradata/client/14.10/odbc_64/bin/tdxodbc".
After verifying the connectivity, you can start configuring and building DBC::ODBC module to work with DataDirect ODBC driver manager, below link describes the steps.
http://www.datadirect.com/resources/resource-library/odbc-developer-center/odbc-tutorials/using-datadirect-odbc-drivers-with-perl/configuration-for-perl
 

islanderman 40 posts Joined 03/14
27 Mar 2014

Thanks again for the help.  I will uninstall this like you said but I just want to verify this before starting.  I downloaded the odbc linux driver, version 14.10.00.00.  The order of installing these should be 
tdicu__linux_indep.14.10.00.00-1.tar.gz
TeraGSS_linux_x64__linux_indep.14.10.00.06-1.tar.gz
tdodbc__linux_indep.14.10.00.00-1.tar.gz
 
The DataDirect ODBC driver manager will be included here?  I just found out that the teradata odbc will be the only connection I will need to setup, so do I then still need to install DBD::ODBC or will the teradata installation be all that I need?
Is there any documentation on the tdxodbc tool?
Thanks again.
 

vhari 111 posts Joined 12/08
27 Mar 2014

No, if you do not need to use PERL you do not need to re-configure DBD::ODBC module.
The installation order is correct, tdicu, teragss, tdodbc in order.  Yes, tdodbc package will also install DataDirect ODBC Driver Manager too.  No specific action is needed.
tdxodbc is a simple connectivity, SQL query execution test tool.  When invoked it prompts from ODBC DSN name, databaser user-name and password.  Once connected, it prompts from SQL request to execute or type 'quit' to close.
tdxodbc -h option can show help about command-line arguments.
 
 
 
 

islanderman 40 posts Joined 03/14
27 Mar 2014

I have 1 more question if you don't mind.  After I install the teradata packages, how do I know which is the correct path for the odbc.ini file?  These were all installed the first time.
/home/mechid/teradata/client/ODBC_32/odbc.ini

/home/mechid/teradata/client/14.10/odbc_64/odbc.ini

/home/mechid/teradata/client/14.10/odbc_32/odbc.ini

/home/mechid/teradata/client/ODBC_64/odbc.ini

 

 
 
 

vhari 111 posts Joined 12/08
27 Mar 2014

/home/mechid/teradata/client/ODBC_32/odbc.ini
/home/mechid/teradata/client/ODBC_64/odbc.ini
Both are correct, but please use the above ones.  These are links to the ones with version(14.10) number.  If you use these paths(without version), you would not need to update your odbc.ini when you upgrade to later version in future.

islanderman 40 posts Joined 03/14
28 Mar 2014

Followed steps but getting this error on:
 
Enter Data Source Name: testdsn

Enter UserID: jf3579

Enter Password:

 

Connecting with SQLConnect(DSN=testdsn,UID=jf3579,PWD=*)...

 

adhoc: (SQL Diagnostics) STATE=HY000, CODE=0, MSG=[Teradata][ODBC Teradata Driver] Major Status=0x04bd Minor Status=0xe000000f-[terasso]Cannot load TDGSS library.

 

ODBC connection closed.

 
 
This was the output from the install of TeraGSS.  It was installed into a custom directory so that is the reason for some of these warnings.  However, maybe i"m missing a link or an environmental variable?  I put the teragss lib into the 'LD_LIBRARY_PATH', /home/mechid/teradata/teragss/linux-x8664/14.10.00.06/lib.
 

Preparing...                ########################################### [100%]

   1:TeraGSS_linux_x64      ########################################### [100%]

: WARNING : Unable to create /opt/teradata/teragss/site/linux-i386 directory

: WARNING : Unable to create /opt/teradata/teragss/site/linux-x8664 directory

: WARNING : Unable to create /opt/teradata/teragss/site directory

: WARNING : Unable to copy TdgssUserConfigFile.xml

WARNING: Error creating symbolic link /opt/teradata/teragss/linux-i386/client

: WARNING : Unable to create /opt/teradata/teragss/site/linux-i386 directory

: WARNING : Unable to create /opt/teradata/teragss/site/linux-x8664 directory

: WARNING : Unable to create /opt/teradata/teragss/site directory

: WARNING : Unable to copy TdgssUserConfigFile.xml

WARNING: Error creating symbolic link /opt/teradata/teragss/linux-x8664/client

/var/tmp/rpm-tmp.13329: line 127: /opt/teradata/teragss/linux-i386/14.10.00.06/version: No such file or directory

/var/tmp/rpm-tmp.13329: line 129: /opt/teradata/teragss/linux-x8664/14.10.00.06/version: No such file or directory

ls: /usr/teragss: No such file or directory

WARNING: Unable to remove directory "/usr/teragss".\n

 Older client programs may not work correctly.

 

islanderman 40 posts Joined 03/14
28 Mar 2014

I saw you had asked for this in a previous thread:
 

=> ldd /home/mechid/teradata/teragss/linux-x8664/14.10.00.06/lib/libtdgss.so

        linux-vdso.so.1 =>  (0x00007fff1b5fd000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b3d8ad54000)

        libdl.so.2 => /lib64/libdl.so.2 (0x00002b3d8af70000)

        libc.so.6 => /lib64/libc.so.6 (0x00002b3d8b174000)

        libresolv.so.2 => /lib64/libresolv.so.2 (0x00002b3d8b4cc000)

        /lib64/ld-linux-x86-64.so.2 (0x000000379ac00000)

 

islanderman 40 posts Joined 03/14
28 Mar 2014

I used strace to find out that the system was trying to load gss from either /usr/teragss or /opt/teradata/teragss even though I installed the code into a custom directory.  Once I had the system administrator create a link from those to the custom directory it is now working.

 

 

Enter Data Source Name: testdsn

Enter UserID: jf3579

Enter Password:

 

Connecting with SQLConnect(DSN=testdsn,UID=jf3579,PWD=*)...

 

.....ODBC connection successful.

 

ODBC version        = -03.52.0000-

DBMS name           = -Teradata-

DBMS version        = -13.10.0726  13.10.07.26-

Driver name         = -tdata.so-

Driver version      = -14.10.00.00-

Driver ODBC version = -03.51-

 

(type quit to terminate adhoc)

Enter SQL string :

 

islanderman 40 posts Joined 03/14
29 Mar 2014

Hey Vhari, I'm hoping you can help with this last piece.  I do need to get the perl interface installed.  I followed the steps you provided but I get an error on the make.  One thing the 'perl Makefile.PL' is complaining about is there is no odbc_config found in the ODBCHOME path I provided, /home/mechid/teradata/client/14.10/odbc_64.  

You provided ODBCHOME (/home/mechid/teradata/client/14.10/odbc_64)

which has no odbc_config (not unusual for older unixODBCs)

but we've found an odbc_config on your PATH. It is unlikely the

odbc_config specifications are going to match your specified ODBCHOME

so this script is going to ignore your specified ODBCHOME. If you don't

like this do something  to remove odbc_config from your PATH or ensure

there is an odbc_config in your provided ODBCHOME.

 

Press return to continue...

  Found odbc_config (via odbc_config) version 2.2.11

 

  odbc_config reports --prefix=/usr

  odbc_config reports --include-prefix=/usr/include

  odbc_config reports --lib-prefix=/usr/lib64

  but cannot find header files sql.h,sqlext.h,sqltypes.h in that path so ignoring

NOTE: Have you installed the unixodbc-dev package

Looking for iodbc-config in PATH /home/mechid/bin:/usr/local:/usr/local/bin:/bin:/usr/bin:/usr/include:/usr/local/zlib/include:/opt/local/mysql/mysql-5.1.55/

bin:.

  iodbc_config not found

odbc_config not found - ok, there are other things I can do

Still trying to guess ODBCHOME - looking for headers now

  trying /home/mechid/teradata/client/14.10/odbc_64/include

  Found sql.h, sqlext.h, sqltypes.h in /home/mechid/teradata/client/14.10/odbc_64/include

Using ODBCHOME /home/mechid/teradata/client/14.10/odbc_64

 

This looks like a intersolve type of driver manager.

You seem to have the official header files.

print() on unopened filehandle SQLH at Makefile.PL line 688, <STDIN> line 2.

 

Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ /usr/l

ib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ at Makefile.PL line 157.

Using DBI 1.622 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_

64-linux-thread-multi/auto/DBI/

Multiple copies of Driver.xst found in: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ /usr/l

ib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/ at Makefile.PL line 1148.

Using DBI 1.622 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_

64-linux-thread-multi/auto/DBI/

Generating a Unix-style Makefile

Writing Makefile for DBD::ODBC

Writing MYMETA.yml and MYMETA.json

 

The DBD::ODBC tests will use these values for the database connection:

    DBI_DSN=dbi:ODBC:attdsn     e.g. dbi:ODBC:demo

    DBI_USER=jf3579

    DBI_PASS=xxxxx

 

 

Then the result from the 'make' is this error:

  make: *** [ODBC.o] Error 1

 

 

islanderman 40 posts Joined 03/14
29 Mar 2014

Found the error, in was in the editing of the Makefile
print() on unopened filehandle SQLH at Makefile.PL line 688, <STDIN> line 2.
Fixed and did install.  Now I have to figure out what this error means when running the perl script and then it looks like I'm good to go.

/usr/bin/perl: symbol lookup error: /home/mechid/.perl/lib/perl5/x86_64-linux-thread-multi/auto/DBD/ODBC/ODBC.so: undefined symbol: SQLAllocHandle

 

islanderman 40 posts Joined 03/14
29 Mar 2014

I just went through the steps again for the 'make' and 'make install' but did a make test and it is failing, so the install did not complete successfully.  Sorry for so many posts Vhari, but this is not a usual installation.  I just want to verify that we are talking about editing the Makefile.PL for the tar -> DBD-ODBC-1.48.tar.gz?
Shouldn't the installation find the odbc_config in the teradata path?  
I feel like I'm so close to getting this so please don't abandon me Vhari :)
 

islanderman 40 posts Joined 03/14
29 Mar 2014

Here is a snippet of output from the make test.  One thing I don't understand is why the DBI_DSN is undefined when it was fine during the running of the Makefile.PL and is in the environmental variable.  I am guessing that my issue has something to do with the custom installation.

=>  make test TEST_VERBOSE=1

Running Mkbootstrap for DBD::ODBC ()

chmod 644 ODBC.bs

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t

t/01base.t ...................

1..6

ok 1 - require DBI;

ok 2 - import DBI

ok 3 - DBI->internal is DBI::dr

# install_driver(ODBC) failed: Can't load '/opt/app/d1car1m5/cpan/DBD-ODBC-1.48/blib/arch/auto/DBD/ODBC/ODBC.so' for module DBD::ODBC: /opt/app/d1car1m5/cpan/DBD-ODBC-1.48/blib/arch/auto/DBD/ODBC/ODBC.so: undefined symbol: SQLFetch at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.

#  at (eval 9) line 3.

# Compilation failed in require at (eval 9) line 3.

# Perhaps a required shared library or dll isn't installed where expected

#  at t/01base.t line 25.

not ok 4 - install ODBC

 

#   Failed test 'install ODBC'

#   at t/01base.t line 29.

ok 5 # skip driver could not be loaded

ok 6 # skip driver could not be loaded

# Looks like you failed 1 test of 6.

Dubious, test returned 1 (wstat 256, 0x100)

Failed 1/6 subtests

        (less 2 skipped subtests: 3 okay)

t/02simple.t .................

1..0 # SKIP DBI_DSN is undefined

 

vhari 111 posts Joined 12/08
31 Mar 2014

Here are the steps to build DBD::ODBC module against DataDirect driver manager.  The makefile for the module is generated with Perl script in Makefile.PL file.
 
Update the lines in Makefile.PL:
                 $myodbc = 'intersolve'
                                  if !$myodbc && -f "$odbchome/include/qeodbc.h";
As follows:
                 $myodbc = 'intersolve'
                                  if !$myodbc && -f "$odbchome/include/sqlunx.h";
Move the updated lines before this line:
                 if (!$myodbc && ($opt_x || $ENV{PERL_DBD_ODBC_PREFER_UNIXODBC})) {
                        ($myodbc, $odbclibdir) = find_unixodbc($odbchome);
                 } else {
 
 
In addition, replace the following block:
                 print {$sqlhfh} qq{#include <qeodbc.h>\n};
                                  if (-f "$odbcincdir/sql.h") {
                                                   print "You seem to have the official header files.\n";
                                                   $opts{INC} .= " -I$odbcincdir";
                                                   print {$sqlhfh} qq{#include <sql.h>\n#include <sqltypes.h>\n#include <sqlext.h>\n};
With this update:
                 $opts{DEFINE} = "";
                 if (-f "$odbchome/include/sql.h"){
                                  print "You seem to have the official header files.\n";
                                  $opts{INC} .= " -I$odbchome/include";
                                  $opts{LIBS} = "-L$odbclibdir -lodbc";
                                  print {$sqlhfh} qq{#include <sql.h>\n#include <sqltypes.h>\n#include <sqlext.h>\n#include <sqlucode.h>\n};    
 
Prepare the environment: variables:
                 export ODBCHOME=........./teradata/client/ODBC_64
                 export DBI_DSN=dbi:ODBC:Payroll
                 export DBI_USER= user
                 export DBI_PASS= password
                 export ODBCHOME DBI_DSN DBI_USER DBI_PASS
 
Generate the makefile:
 
                 ........./bin/perl Makefile.PL
 
Finally, build and install:
                 make
                 make install
 
 

islanderman 40 posts Joined 03/14
31 Mar 2014

Vhari, thank you very much.  I got it working.  This was the missing line I needed for Makefile.PL
  =>  $opts{LIBS} = "-L$odbclibdir -lodbc";

islanderman 40 posts Joined 03/14
09 May 2014

Hello again Vhari.  If you could take a look at this I'd appreciate it.  After getting this working in a custom directory we wanted to install this into the standard paths with root.  I have installed all the teradata packages and everything works fine.  However after using the same Makefile.PL script that I got to work for the custom path, I'm getting an error during the 'make test' on this attempt.  Do you have any idea why the test is Failing.  I'm including the 'perl Makefile.PL', and the make test with verbose:
 
 

# perl Makefile.PL

 

**********

        Remember to actually *READ* the README file!

        And re-read it if you have any problems.

 

**********

 

OSNAME: linux

LANG: en_US (LANG=en_US)

ODBCHOME: /opt/teradata/client/ODBC_64

LD_LIBRARY_PATH: /opt/teradata/client/14.00/odbc_64/lib:/opt/teradata/client/14.00/odbc_64/lib64:/opt/teradata/teragss/linux-x8664/14.00.03.02/lib:/opt/teradata/client/14.00/lib:/opt/teradata/client/14.00/tbuild/lib:/usr/lib:usr/lib64

DBROOT:

WINDIR:

II_SYSTEM:

Perl: 5.008008

ExtUtils::MakeMaker: 6.62

Command line options:

  u! = undef

  w! = undef

  e! = undef

  g! = 0

  x! = undef

  o=s =

 

You are using a Perl configured with threading enabled.

Please read the warnings in DBI about this.

 

You should also be aware that on non-Windows platforms ODBC drivers come

in two forms, thread-safe and non-thread-safe drivers and you may need

to make sure you are using the right one.

 

Press return to continue...

Looking for odbc_config in : /opt/teradata/client/ODBC_64

Looking for odbc_config at /opt/teradata/client/ODBC_64/bin/odbc_config

Looking for odbc_config in (PATH) /usr/bin:/usr/local/bin:/bin:/usr/sbin:

 

***** WARNING *****

You provided ODBCHOME (/opt/teradata/client/ODBC_64)

which has no odbc_config (not unusual for older unixODBCs)

but we've found an odbc_config on your PATH. It is unlikely the

odbc_config specifications are going to match your specified ODBCHOME

so this script is going to ignore your specified ODBCHOME. If you don't

like this do something  to remove odbc_config from your PATH or ensure

there is an odbc_config in your provided ODBCHOME.

 

Press return to continue...

  Found odbc_config (via odbc_config) version 2.2.11

 

  odbc_config reports --prefix=/usr

  odbc_config reports --include-prefix=/usr/include

  odbc_config reports --lib-prefix=/usr/lib64

  but cannot find header files sql.h,sqlext.h,sqltypes.h in that path so ignoring

NOTE: Have you installed the unixodbc-dev package

Looking for iodbc-config in PATH /usr/bin:/usr/local/bin:/bin:/usr/sbin:

  iodbc_config not found

odbc_config not found - ok, there are other things I can do

Still trying to guess ODBCHOME - looking for headers now

  trying /opt/teradata/client/ODBC_64/include

  Found sql.h, sqlext.h, sqltypes.h in /opt/teradata/client/ODBC_64/include

Using ODBCHOME /opt/teradata/client/ODBC_64

 

This looks like a intersolve type of driver manager.

You seem to have the official header files.

 

Using DBI 1.622 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/

Using DBI 1.622 (for perl 5.008008 on x86_64-linux-thread-multi) installed in /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI/

Writing Makefile for DBD::ODBC

 

The DBD::ODBC tests will use these values for the database connection:

    DBI_DSN=dbi:ODBC:attdsn     e.g. dbi:ODBC:demo

    DBI_USER=jf3579

    DBI_PASS=xxxxxxxx

 

 

# make test TEST_VERBOSE=1

Skip blib/lib/DBD/ODBC.pm (unchanged)

gcc -c   -I. -I/opt/teradata/client/ODBC_64/include -I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"1.48\" -DXS_VERSION=\"1.48\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   ConvertUTF.c

gcc -c   -I. -I/opt/teradata/client/ODBC_64/include -I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"1.48\" -DXS_VERSION=\"1.48\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   ODBC.c

ODBC.c: In function âXS_DBD__ODBC__st_odbc_rowsâ:

ODBC.c:1355: warning: unused variable âtargâ

ODBC.c:1354: warning: unused variable âRETVALâ

ODBC.xs: In function âXS_DBD__ODBC__st_odbc_getdiagrecâ:

ODBC.xs:60: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs:62: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs: In function âXS_DBD__ODBC__st_odbc_getdiagfieldâ:

ODBC.xs:125: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs: In function âXS_DBD__ODBC__db_odbc_getdiagrecâ:

ODBC.xs:289: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs:291: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs: In function âXS_DBD__ODBC__db_odbc_getdiagfieldâ:

ODBC.xs:355: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

ODBC.xs: In function âXS_DBD__ODBC__dr_data_sourcesâ:

ODBC.xs:511: warning: pointer targets in passing argument 1 of â__builtin___strcpy_chkâ differ in signedness

ODBC.xs:511: warning: pointer targets in passing argument 1 of â__strcpy_ichkâ differ in signedness

ODBC.xs:531: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

gcc -c   -I. -I/opt/teradata/client/ODBC_64/include -I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"1.48\" -DXS_VERSION=\"1.48\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   dbdimp.c

dbdimp.c: In function âodbc_db_login6â:

dbdimp.c:1029: warning: pointer targets in passing argument 3 of âSQLDriverConnectâ differ in signedness

dbdimp.c:1029: warning: pointer targets in passing argument 5 of âSQLDriverConnectâ differ in signedness

dbdimp.c:1136: warning: pointer targets in passing argument 2 of âSQLConnectâ differ in signedness

dbdimp.c:1136: warning: pointer targets in passing argument 4 of âSQLConnectâ differ in signedness

dbdimp.c:1136: warning: pointer targets in passing argument 6 of âSQLConnectâ differ in signedness

dbdimp.c: In function âdbd_error2â:

dbdimp.c:1335: warning: pointer targets in passing argument 1 of â__builtin___strcpy_chkâ differ in signedness

dbdimp.c:1335: warning: pointer targets in passing argument 1 of â__strcpy_ichkâ differ in signedness

dbdimp.c:1336: warning: pointer targets in passing argument 1 of â__builtin___strcpy_chkâ differ in signedness

dbdimp.c:1336: warning: pointer targets in passing argument 1 of â__strcpy_ichkâ differ in signedness

dbdimp.c:1373: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

dbdimp.c:1374: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

dbdimp.c:1396: warning: pointer targets in passing argument 1 of â__builtin___strcat_chkâ differ in signedness

dbdimp.c:1396: warning: pointer targets in passing argument 1 of â__strcat_ichkâ differ in signedness

dbdimp.c:1397: warning: pointer targets in passing argument 1 of â__builtin___strcat_chkâ differ in signedness

dbdimp.c:1397: warning: pointer targets in passing argument 2 of â__builtin___strcat_chkâ differ in signedness

dbdimp.c:1397: warning: pointer targets in passing argument 1 of â__strcat_ichkâ differ in signedness

dbdimp.c:1397: warning: pointer targets in passing argument 2 of â__strcat_ichkâ differ in signedness

dbdimp.c:1398: warning: pointer targets in passing argument 1 of â__builtin___strcat_chkâ differ in signedness

dbdimp.c:1398: warning: pointer targets in passing argument 1 of â__strcat_ichkâ differ in signedness

dbdimp.c:1400: warning: pointer targets in passing argument 5 of âimp_xxh->com.std.dbistate->set_err_charâ differ in signedness

dbdimp.c:1400: warning: pointer targets in passing argument 6 of âimp_xxh->com.std.dbistate->set_err_charâ differ in signedness

dbdimp.c:1403: warning: pointer targets in passing argument 5 of âimp_xxh->com.std.dbistate->set_err_charâ differ in signedness

dbdimp.c:1403: warning: pointer targets in passing argument 6 of âimp_xxh->com.std.dbistate->set_err_charâ differ in signedness

dbdimp.c: In function âodbc_st_tablesâ:

dbdimp.c:1759: warning: pointer targets in passing argument 2 of âSQLTablesâ differ in signedness

dbdimp.c:1759: warning: pointer targets in passing argument 4 of âSQLTablesâ differ in signedness

dbdimp.c:1759: warning: pointer targets in passing argument 6 of âSQLTablesâ differ in signedness

dbdimp.c:1759: warning: pointer targets in passing argument 8 of âSQLTablesâ differ in signedness

dbdimp.c: In function âodbc_st_primary_keysâ:

dbdimp.c:1885: warning: pointer targets in passing argument 2 of âSQLPrimaryKeysâ differ in signedness

dbdimp.c:1885: warning: pointer targets in passing argument 4 of âSQLPrimaryKeysâ differ in signedness

dbdimp.c:1885: warning: pointer targets in passing argument 6 of âSQLPrimaryKeysâ differ in signedness

dbdimp.c: In function âdbd_st_statisticsâ:

dbdimp.c:1957: warning: pointer targets in passing argument 2 of âSQLStatisticsâ differ in signedness

dbdimp.c:1957: warning: pointer targets in passing argument 4 of âSQLStatisticsâ differ in signedness

dbdimp.c:1957: warning: pointer targets in passing argument 6 of âSQLStatisticsâ differ in signedness

dbdimp.c: In function âodbc_st_prepare_svâ:

dbdimp.c:2160: warning: pointer targets in passing argument 2 of âSQLPrepareâ differ in signedness

dbdimp.c: In function âodbc_st_executeâ:

dbdimp.c:2863: warning: pointer targets in passing argument 2 of âSQLExecDirectâ differ in signedness

dbdimp.c:2921: warning: pointer targets in assignment differ in signedness

dbdimp.c: In function ârebind_paramâ:

dbdimp.c:3994: warning: pointer targets in assignment differ in signedness

dbdimp.c:4000: warning: pointer targets in assignment differ in signedness

dbdimp.c: In function âodbc_db_STORE_attribâ:

dbdimp.c:4969: warning: pointer targets in passing argument 6 of âSQLGetDiagRecâ differ in signedness

dbdimp.c: In function âodbc_st_FETCH_attribâ:

dbdimp.c:5342: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

dbdimp.c:5386: warning: pointer targets in passing argument 2 of âSQLGetCursorNameâ differ in signedness

dbdimp.c: In function âodbc_get_special_columnsâ:

dbdimp.c:5758: warning: pointer targets in passing argument 3 of âSQLSpecialColumnsâ differ in signedness

dbdimp.c:5758: warning: pointer targets in passing argument 5 of âSQLSpecialColumnsâ differ in signedness

dbdimp.c:5758: warning: pointer targets in passing argument 7 of âSQLSpecialColumnsâ differ in signedness

dbdimp.c: In function âodbc_get_foreign_keysâ:

dbdimp.c:5828: warning: pointer targets in passing argument 2 of âSQLForeignKeysâ differ in signedness

dbdimp.c:5828: warning: pointer targets in passing argument 4 of âSQLForeignKeysâ differ in signedness

dbdimp.c:5828: warning: pointer targets in passing argument 6 of âSQLForeignKeysâ differ in signedness

dbdimp.c:5828: warning: pointer targets in passing argument 8 of âSQLForeignKeysâ differ in signedness

dbdimp.c:5828: warning: pointer targets in passing argument 10 of âSQLForeignKeysâ differ in signedness

dbdimp.c:5828: warning: pointer targets in passing argument 12 of âSQLForeignKeysâ differ in signedness

dbdimp.c: In function âodbc_col_attributesâ:

dbdimp.c:6121: warning: pointer targets in passing argument 1 of âstrlenâ differ in signedness

dbdimp.c:6121: warning: pointer targets in passing argument 2 of âPerl_newSVpvâ differ in signedness

dbdimp.c: In function âodbc_db_columnsâ:

dbdimp.c:6320: warning: pointer targets in passing argument 2 of âSQLColumnsâ differ in signedness

dbdimp.c:6320: warning: pointer targets in passing argument 4 of âSQLColumnsâ differ in signedness

dbdimp.c:6320: warning: pointer targets in passing argument 6 of âSQLColumnsâ differ in signedness

dbdimp.c:6320: warning: pointer targets in passing argument 8 of âSQLColumnsâ differ in signedness

dbdimp.c: In function âget_row_diagâ:

dbdimp.c:7473: warning: pointer targets in passing argument 4 of âSQLGetDiagRecâ differ in signedness

dbdimp.c:7473: warning: pointer targets in passing argument 6 of âSQLGetDiagRecâ differ in signedness

gcc -c   -I. -I/opt/teradata/client/ODBC_64/include -I/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic   -DVERSION=\"1.48\" -DXS_VERSION=\"1.48\" -fPIC "-I/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE"   unicode_helper.c

Running Mkbootstrap for DBD::ODBC ()

chmod 644 ODBC.bs

rm -f blib/arch/auto/DBD/ODBC/ODBC.so

LD_RUN_PATH="/opt/teradata/client/ODBC_64/lib" gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic ConvertUTF.o ODBC.o dbdimp.o unicode_helper.o  -o blib/arch/auto/DBD/ODBC/ODBC.so         \

           -L/opt/teradata/client/ODBC_64/lib -lodbc    \

 

chmod 755 blib/arch/auto/DBD/ODBC/ODBC.so

cp ODBC.bs blib/arch/auto/DBD/ODBC/ODBC.bs

chmod 644 blib/arch/auto/DBD/ODBC/ODBC.bs

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t

t/01base.t ...................

1..7

ok 1 - require DBI;

ok 2 - import DBI

ok 3 - DBI->internal is DBI::dr

Failed 4/7 subtests

t/02simple.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/03dbatt.t ..................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/05meth.t ...................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/07bind.t ...................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/08bind2.t ..................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/09multi.t ..................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/10handler.t ................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/12blob.t ...................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/20SqlServer.t ..............

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/30Oracle.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/40UnicodeRoundTrip.t .......

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/41Unicode.t ................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/45_unicode_varchar.t .......

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/50_odbc_utf8_on.t ..........

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/70execute_array_dbi.t ......

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/70execute_array_native.t ...

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/80_odbc_diags.t ............ No subtests run

t/82_table_info.t ............

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/87_odbc_lob_read.t .........

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/90_trace_flags.t ...........

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/odbc_describe_parameter.t ..

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/pod-coverage.t .............

1..2

ok 1 - Pod::Coverage

# Test::Pod::Coverage 1.04 required for testing POD coverage

ok 2 - no warnings

ok

t/pod.t ......................

1..5

ok 1 # skip Test::Pod 1.00 required for testing POD

ok 2 # skip Test::Pod 1.00 required for testing POD

ok 3 # skip Test::Pod 1.00 required for testing POD

ok 4 # skip Test::Pod 1.00 required for testing POD

ok 5 - no warnings

ok

t/rt_38977.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_39841.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_39897.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_43384.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_46597.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_50852.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_57957.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_59621.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_61370.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_62033.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_63550.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_78838.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_79190.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_79397.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_81911.t .................

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/rt_null_nvarchar.t .........

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

t/sql_type_cast.t ............

1..0 # SKIP DBI_DSN is undefined

skipped: DBI_DSN is undefined

 

Test Summary Report

-------------------

t/01base.t                 (Wstat: 11 Tests: 3 Failed: 0)

  Non-zero wait status: 11

  Parse errors: Bad plan.  You planned 7 tests but ran 3.

t/80_odbc_diags.t          (Wstat: 11 Tests: 0 Failed: 0)

  Non-zero wait status: 11

  Parse errors: No plan found in TAP output

Files=41, Tests=10,  9 wallclock secs ( 0.12 usr  0.05 sys +  1.08 cusr  0.18 csys =  1.43 CPU)

Result: FAIL

Failed 2/41 test programs. 0/10 subtests failed.

make: *** [test_dynamic] Error 255

 

 

islanderman 40 posts Joined 03/14
14 May 2014

Does anyone have any clues as to why the prior posts attempt at the 'make test' is failing.  Everything appears to be in place.  It finds the Intersolve driver manager and headers.  It doesn't really indicate what is failing.  The Teradata packages have all been installed and working.

You must sign in to leave a comment.