Okay! I got it going with the DataDirect ODBC that was shipped with the Teradata client. My first problem, although InstallDir pointed to a directory with my ini's and libs, it didn't have locale info which is why I wasn't getting my messages. Secondly, DataDirect apparently doesn't use the odbcinst.ini so I had to directly identify my driver in the .odbc.ini.
After getting it to work with DataDirect, I went back to see if I could get it working with unixODBX. Under 2.2.11, tdata.so was trying to open shared objects that existed in DataDirect and don't exist in unixODBC. 2.3.0 couldn't open the tdata.so driver at all.
To get the DBD-ODBC to compile with DataDirect, I had to make similar modifications to the Makefile.PL as were described in the document http://web.datadirect.com/resources/odbc/perl/config.html. My diff looks like:
diff Makefile.DataDirect Makefile.PL 448,450d447 < $myodbc = 'intersolve' < if !$myodbc && -f "$odbchome/include/sqlunx.h"; < 463a461,463 > $myodbc = 'intersolve' > if !$myodbc && -f "$odbchome/include/qeodbc.h"; > 627c627 < #print {$sqlhfh} qq{#include <qeodbc.h>\n}; --- > print {$sqlhfh} qq{#include <qeodbc.h>\n}; 631,632c631 < #print {$sqlhfh} qq{#include <sql.h>\n#include <sqltypes.h +>\n#include <sqlext.h>\n}; < print {$sqlhfh} qq{#include <sql.h>\n#include <sqltypes.h> +\n#include <sqlext.h>\n#include <sqlucode.h>\n}; --- > print {$sqlhfh} qq{#include <sql.h>\n#include <sqltypes.h> +\n#include <sqlext.h>\n};
The Teradata client install builds a link /usr/odbc for ODBCHOME, but it didn't include includes or odbc_config so I found it better to set ODBCHOME directly to /opt/teradata/client/13.0/odbc_32 for building. InstallDir could still point to link /usr/odbc.
In reply to Re^6: DBD::ODBC to Teradata
by DanEllison
in thread DBD::ODBC to Teradata
by DanEllison
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |