我正在尝试在Linux中将td与python连接起来。
我在Windows上做了这个工作:
import pyodbc
conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=;UID=;PWD=;QUIETMODE=YES;')
cursor = conn.cursor()
sql = 'select * from table_name'
cursor.execute(sql)
rows = cursor.fetchall()
conn.close()
print rows
在Linux上执行此操作的步骤:
安装pyodbc
安装teragss、tdicu、cliv2、piom、tddodbc
运行以下程序:
import pyodbc
conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=;UID=;PWD=;QUIETMODE=YES;')
号
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')
号
安装后是否缺少任何配置步骤?
环境:
python 2.6.6(r266:84292,2012年10月12日,14:23:48)【GCC 4.4.6 20120305(Red Hat 4.4.6-4)】关于Linux2
这可能是检查设置是否正确的好指南。
作为驱动程序传递的字符串需要
a)odbcinst.ini文件中的驱动程序名称,或
b)ODBC驱动程序共享对象的完整路径。
当您使用第一种方法时,我建议您运行odbcinst -j,找出odbcinst.ini文件的位置,并检查是否定义了任何驱动程序。
驱动程序部分以[mydrivername]开头,因此您应该有一个以[teradata]开头的部分,它应该包含一个关键字/值对,类似driver=/path/to/teradata/driver/shared_对象。如果您定义了一个[teradata]驱动程序,那么请检查用"driver"关键字指向的共享对象是否存在、是否可读/可执行以及是否没有未解析的依赖项(对其运行ldd)。