如何在Linux下将Teradata与Python连接起来?

2024-05-14 22:44:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Linux中将TD与Python连接。

我在窗户上工作:

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. 安装pyodbc
  2. 安装TeraGSS、tdicu、cliv2、piom、tdodbc
  3. 运行以下命令:
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)')

安装后是否缺少任何配置步骤?

环境:

Python2.6.6(r266:842922012年10月12日,14:23:48) 【合同一般条件4.4.6 20120305(红帽4.4.6-4)】关于linux2


Tags: importiphostuidlinuxdriverconnectpwd
1条回答
网友
1楼 · 发布于 2024-05-14 22:44:01

你作为司机传递的字符串需要

a)odbcinst.ini文件中驱动程序的名称,或

b)ODBC驱动程序共享对象的完整路径。

当您使用第一个方法时,我建议您运行odbcinst -j,找出odbcinst.ini文件的位置,并检查是否定义了任何驱动程序。

驱动程序节以[MYDRIVERNAME]开头,因此应该有一个以[Teradata]开头的节,它应该包含一个关键字/值对,类似Driver=/path/to/Teradata/Driver/shared_object。如果您已经定义了一个[Teradata]驱动程序,那么请检查用“driver”关键字指向的共享对象是否存在、是否可读/可执行以及是否没有未解析的依赖项(对其运行ldd)。

相关问题 更多 >

    热门问题