我需要使用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()
但是在执行时,我得到的错误如下:
错误:('28000',‘28000ODBCDTeradata驱动程序没有足够的信息来登录(0) (SQLDriverConnect);28000ODBCDATA驱动程序没有足够的信息来登录(0)')
我在这里错过了什么?为了建立连接,还需要包括什么?
另外,还有其他方法来建立连接吗?在看的时候,我遇到了teradata.UdaExec().这也可以用吗?
发布于 2017-02-02 10:44:38
以下内容适用于CentOS Linux服务器。
在任何文件中创建具有以下内容的文件(例如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变量设置为odbc文件的路径
export ODBCINI=/file/to/path/of/odbc.ini
注意:您可以跳过ODBCINI变量的设置,方法是在主目录( / home /user/.odbc.ini )中创建odbc.ini文件(注意,.odbc.ini是一个隐藏文件,文件名中有一个点前缀)
现在,要连接到Teradata,请使用下面的代码片段。
import pyodbc
pyodbc.pooling = False
conn = pyodbc.connect('DSN=my_data_source',ansi=True, autocommit=True)
https://stackoverflow.com/questions/41951074
复制相似问题