在Red Hat Linux 6上使用PHP odbc连接到Teradata数据库时发生错误

时间:2018-07-13 13:16:14

标签: php linux odbc teradata unixodbc

我有一个安装并正在运行Apache和PHP的Red Hat Linux 6。我已经安装了MS SQL Server和Teradata驱动程序,并且能够通过服务器终端上的iSQL连接并执行对这些数据库的查询。

当我尝试通过PHP脚本使用ODBC连接时,我能够在MS SQL Server上连接并执行查询,但是如果尝试连接到Teradata数据库,则会收到以下错误消息:

  

警告:odbc_connect():SQL错误:[unixODBC] [驱动程序管理器]不能   打开lib'/opt/teradata/client/14.10/odbc_64/lib/tdata.so':没有文件   找到,SQL状态为01000

此文件tdata.so 存在在引用的位置,并且具有所有可能的权限。

php代码为:

$con_string = "DRIVER={Teradata};DBCName=SERVER; DATABASE=MYDB;";
$con = odbc_pconnect( $con_string , "USER", "PASSWORD" );

odbc.ini文件(位于/etc/odbc.ini中)具有以下内容:

[Teradata]
Driver=/opt/teradata/client/14.10/odbc_64/lib/tdata.so
Description=Teradata database
DBCName=SERVER
LastUser=
Username=
Password=
Database=
DefaultDatabase=

[MSSQL]
Description=Microsoft ODBC Driver 17 for SQL Server A
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.1.so.0.1
UsageCount=1

当我执行命令时:

ldd /opt/teradata/client/14.10/odbc_64/lib/tdata.so

我收到以下答复:

linux-vdso.so.1 =>  (0x00007ffff03ff000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fb736c1e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb736a07000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb7367ea000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb7365e6000)
librt.so.1 => /lib64/librt.so.1 (0x00007fb7363dd000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fb7361c4000)
libodbcinst.so => /opt/teradata/client/14.10/odbc_64/lib/libodbcinst.so (0x00007fb735fa0000)
libddicu26.so => /opt/teradata/client/14.10/odbc_64/lib/libddicu26.so (0x00007fb7350a8000)
libtdparse.so => /opt/teradata/client/14.10/odbc_64/lib/libtdparse.so (0x00007fb734f22000)
libicudatatd.so.46 => /usr/lib64/libicudatatd.so.46 (0x00007fb7346d8000)
libicuuctd.so.46 => /usr/lib64/libicuuctd.so.46 (0x00007fb73444a000)
libm.so.6 => /lib64/libm.so.6 (0x00007fb7341c6000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb733e32000)
/lib64/ld-linux-x86-64.so.2 (0x0000003727400000)

当我执行命令时,该路径似乎也已正确配置:

echo $LD_LIBRARY_PATH

我收到以下答复:

/opt/teradata/client/14.10/odbc_64/lib:/opt/teradata/client/14.10/lib:/opt/teradata/client/14.10/tbuild/lib:/opt/teradata/client/14.00/odbc_64/lib::/usr/lib

我无法理解出了什么问题,我尝试了各种可能的解决方案,但没有任何工作对我有用。有人可以帮忙吗?

0 个答案:

没有答案