【发布时间】:2014-07-25 19:06:30
【问题描述】:
我已经阅读了关于odbc.ini 和Vertica documentation 的iODBC documentation。我还看到了一个问题with the same error,但无法让连接字符串按照上一个问题的答案中的建议工作。
我目前拥有的:
/etc/odbcinst.ini
/etc/odbc.ini
[ODBC 数据源] VerticaDB1 = HP Vertica 上的 db1 数据库 [VerticaDB1] 说明 = HP Vertica 上的 db1 数据库 驱动程序 = HPVertica 数据库 = db1 服务器名 = 10.0.0.67 UID = 数据库管理员 残疾人 = 端口 = 5433 语言环境 = en_GB [ODBC] 线程 = 1
~/.odbc.ini
[默认] 驱动程序 = VerticaDB1
使用isql进行测试
[root@ip-10-0-0-67 /]# echo "select 1;" | isql -v VerticaDB1 +----------------------------------------------------+ |连接的! | | | | sql语句| |帮助 [表名] | |退出 | | | +----------------------------------------------------+ SQL>选择1; +----------+ | ?柱子? | +----------+ | 1 | +----------+ SQLRowCount 返回 1 提取了 1 行
odbcinst -j 输出:
unixODBC 2.2.14 驱动程序............:/etc/odbcinst.ini 系统数据源:/etc/odbc.ini 文件数据源..:/etc/ODBCDataSources 用户数据源..:/root/.odbc.ini SQLULEN 大小.......: 8 SQLLEN 大小............:8 SQLSETPOSIROW 大小:8
在 Python 中使用“VerticaDB1”:
>>> 导入 pyodbc
>>> conn = pyodbc.connect("DRIVER={VerticaDB1};UID={dbadmin};PWD={...}")
回溯(最近一次通话最后):
文件“”,第 1 行,在
pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]数据源名称不
已找到,但未指定默认驱动程序 (0) (SQLDriverConnect)')
在 Python 中使用“HPVertica”:
>>> 导入 pyodbc
>>> conn = pyodbc.connect("DRIVER={HPVertica};UID={dbadmin};PWD={...}")
回溯(最近一次通话最后):
文件“”,第 1 行,在
pyodbc.Error: ('HY000', '[HY000] [unixODBC][Vertica][ODBC] (10430) 不够
为建立与数据源的连接而提供的信息并指定
不提示提供更多信息。 (10430) (SQLDriverConnect)')
【问题讨论】:
标签: python pyodbc unixodbc vertica