Teradata使用ODBC连接时出现“无法获取目录字符串”错误
问题描述:
我试图访问通过ODBC运行Teradata服务的远程主机。 ,我试图连接的主机是64位的RHEL 6.x中安装了以下的Teradata软件:Teradata使用ODBC连接时出现“无法获取目录字符串”错误
- BTEQ
- fastexp
- fastld
- jmsaxsmod
- MLOAD
- mqaxsmod
- npaxsmod
- sqlpp
- tdodbc
- tdwallet
- tptbase
- tptstream
- tpump
当我尝试连接到通过Python(交互会话)的远程主机,我收到一个“无法获取目录串'错误:
[@myhost:/path/to/scripts] ->python
Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> pyodbc.pooling = False
>>> cn = pyodbc.connect("DRIVER={Teradata}; SERVER=12.245.67.255:1025;UID=usr;PWD=pwd", ANSI = True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pyodbc.Error: ('28000', '[28000] [Teradata][ODBC Teradata Driver] Unable to get catalog string. (0) (SQLDriverConnect)')
此外,当我尝试使用isql(从第Ë了unixODBC yum包),我收到了同样的错误
[@my_host:/path/to/scripts] ->isql -v proddsn
[28000][Teradata][ODBC Teradata Driver] Unable to get catalog string.
[ISQL]ERROR: Could not SQLConnect
答
我认为该消息意味着,Teradata的司机正试图显示错误消息,但它无法找到目录文件。我认为你需要设置一个指向你的tdodbc.cat文件的NLSPATH环境值。沿着这些路线的东西:
/opt/teradata/client/lib/odbc/%N.cat
这时髦的期待%N.cat是标准的,你只需要指向正确的位置。
谢谢!一切都如预期的那样正常运行。 – Jubbles