Я пытаюсь настроить драйверы Teradata для Linux и пытаюсь получить доступ к базе данных из PHP (codeigniter) Linux.
$connection = odbc_connect('[email protected]','USERNAME', 'PASSWORD');
я получил
Message: odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/opt/teradata/client/14.10/odbc_64/lib/tdata.so' : file not found, SQL state 01000 in SQLConnect
Я проверил следующее:
1)
/opt/teradata/client/14.10/odbc_64/lib# ldd tdata.so
linux-vdso.so.1 => (0x00007fff7f39a000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8cb43f9000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8cb41e3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8cb3fc4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8cb3dc0000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8cb3bb8000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f8cb399d000)
libodbcinst.so => /opt/teradata/client/14.10/odbc_64/lib/libodbcinst.so (0x00007f8cb377f000)
libddicu25.so => /opt/teradata/client/14.10/odbc_64/lib/libddicu25.so (0x00007f8cb2888000)
libtdparse.so => /opt/teradata/client/14.10/odbc_64/lib/libtdparse.so (0x00007f8cb2712000)
libicudatatd.so.46 => /opt/teradata/client/14.10/tdicu/lib64/libicudatatd.so.46 (0x00007f8cb1ec8000)
libicuuctd.so.46 => /opt/teradata/client/14.10/tdicu/lib64/libicuuctd.so.46 (0x00007f8cb1c3b000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8cb1934000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8cb156f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8cb4ae5000)
Итак, я могу подтвердить, что нет файлов библиотеки отсутствуют. Но все равно я получаю вышеуказанную ошибку. Я следовал за шагами Вот.
2) odbc.ini
[ODBC Data Sources]
TDDSN=tdata.so
[ODBC]
InstallDir=/opt/teradata/client/14.10/odbc_64
Trace=0
TraceDll=/opt/teradata/client/14.10/odbc_64/lib/odbctrac.so
TraceFile=/usr/joe/odbcusr/trace.log
TraceAutoStop=0
[TDDSN]
Driver=/opt/teradata/client/14.10/odbc_64/lib/tdata.so
Description=Teradata database
[email protected]
Username=XXX
Password=XXX
Database=XXX
3)
isql -v tddsn <username> <password>
[ISQL]ERROR: Could not SQLConnect
Любая помощь будет оценена.
Я в конечном итоге с помощью Teradata Node js и подключиться к веб-сервису nodejs из моего PHP. Это довольно просто.
Других решений пока нет …