2017-01-31 8 views
0

Pythonを使用してTeradataデータベースに接続する必要があります。私は以下のコードを使用している:問題Pythonを使用してTeradataに接続

import pyodbc 
import teradata 



cnxn = pyodbc.connect('DRIVER={Teradata};SERVER=<*ServerName*>;DATABASE=<*Database Name*>;UID=<*User ID*>;PWD=<*Password*>',ansi=True, autocommit=True) 

cur = cnxn.cursor() 

をしかし、実行する上で、私はエラーを取得しています:私はここに行方不明です何

Error: ('28000', '[28000] [Teradata][ODBC Teradata Driver] Not enough information to log on (0) (SQLDriverConnect); [28000] [Teradata][ODBC Teradata Driver] Not enough information to log on (0)')

?接続を設定するために何を追加する必要がありますか?

また、接続を設定する他の方法もあります。見ている間、私は来たteradata.UdaExec()。これも使用できますか?

+2

connectionstrings.comページ[ここ](https://www.connectionstrings.com/teradata/)は、 'SERVER ='の代わりに 'DBCName ='を使うことを示唆しているようです。あなたはそれを試しましたか? –

+0

Linuxサーバーから接続していますか? –

答えて

0

以下はCentOS Linuxサーバーで動作します。あなたはスキップすることができます。

export ODBCINI=/file/to/path/of/odbc.ini 

ノート

ODBCファイルのパスに任意のファイルに以下の内容のファイル(たとえば、ODBC.INI)

[ODBC Data Sources] 
my_data_source=tdata.so 

[my_data_source] 
Driver=/path/to/teradata/drivers/tdata.so 
DBCName=<td_hostname> 
LastUser=<user_name> 
Username=<user_name> 
Password=<password> 
Database=<default_database> 
DefaultDatabase=<default_database> 
TDMSTPortNumber=<teradata_port> 

セットODBCINI変数を作成しますホームディレクトリ、つまり/ home/user/.odbc.iniにodbc.iniファイルを作成して、ODBCINI env変数を設定します(.odbc.iniは、ファイル名にドットプレフィックスがある隠しファイルです)。 Teradataに接続するには今すぐ以下のスニペットを使用してください。

import pyodbc 
pyodbc.pooling = False 
conn = pyodbc.connect('DSN=my_data_source',ansi=True, autocommit=True) 
関連する問題