2014-04-01 65 views
0

我試圖訪問通過ODBC運行Teradata服務的遠程主機。 ,我試圖連接的主機是64位的RHEL 6.x中安裝了以下的Teradata軟件:Teradata使用ODBC連接時出現「無法獲取目錄字符串」錯誤

  1. BTEQ
  2. fastexp
  3. fastld
  4. jmsaxsmod
  5. MLOAD
  6. mqaxsmod
  7. npaxsmod
  8. sqlpp
  9. tdodbc
  10. tdwallet
  11. tptbase
  12. tptstream
  13. 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 

回答

2

認爲該消息意味着,Teradata的司機正試圖顯示錯誤消息,但它無法找到目錄文件。我認爲你需要設置一個指向你的tdodbc.cat文件的NLSPATH環境值。沿着這些路線的東西:

/opt/teradata/client/lib/odbc/%N.cat 

這時髦的期待%N.cat是標準的,你只需要指向正確的位置。

+0

謝謝!一切都如預期的那樣正常運行。 – Jubbles