How to connect Teradata with Python in Linux?
我正在尝试在Linux中将td与python连接起来。
我在Windows上做了这个工作:
1 2 3 4 5 6 7 8 | import pyodbc conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=<HOST IP>;UID=<UID>;PWD=<UID>;QUIETMODE=YES;') cursor = conn.cursor() sql = 'select * from table_name' cursor.execute(sql) rows = cursor.fetchall() conn.close() print rows |
在Linux上执行此操作的步骤:
1 2 | import pyodbc conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=<HOST IP>;UID=<UID>;PWD=<UID>;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驱动程序共享对象的完整路径。
当您使用第一种方法时,我建议您运行
驱动程序部分以[mydrivername]开头,因此您应该有一个以[teradata]开头的部分,它应该包含一个关键字/值对,类似driver=/path/to/teradata/driver/shared_对象。如果您定义了一个[teradata]驱动程序,那么请检查用"driver"关键字指向的共享对象是否存在、是否可读/可执行以及是否没有未解析的依赖项(对其运行ldd)。