【发布时间】:2020-02-12 17:34:22
【问题描述】:
我想使用 Python 脚本从 Cisco UCCX 数据库 (Informix) 中提取数据。
按照this guide 中的说明安装 Informix Client SDK 和 pyodbc 后,我运行以下连接:
pyodbc.connect('SERVICE=1504;PROTOCOL=onsoctcp;CLIENT_LOCALE=en_US.UTF8;DB_LOCALE=en_US.UTF8;DRIVER={IBM INFORMIX ODBC DRIVER (64-bit)};UID=uccxhruser;PWD=my_pwd;DATABASE=db_cra;HOST=my-uccx;SERVER=my-uccx_uccx')
但我收到以下错误:
错误: ('HY000', '[HY000] [Informix][Informix ODBC 驱动程序][Informix]INFORMIXSERVER 与 DBSERVERNAME 或 DBSERVERALIASES。 (-761) (SQLDriverConnect)')
我该如何解决这个问题?
【问题讨论】:
-
从表面上看,您将环境变量
$INFORMIXSERVER(或在连接字符串中指定了它的值)设置为不正确的值。服务器名称不应包含破折号,因此可能是连接字符串中的SERVER=my-uccx_uccx有问题,或者它可能在其他地方。我冒昧地猜测您的服务器是my_uccx_uccx,但这是一个猜测。了解为实际服务器指定的内容至关重要。 -
好的,我去看看,变量
INFORMIXSERVER是否对应连接字符串中的SERVER参数? -
这是我没有的信息——连接字符串中的 SERVER 很有可能将 INFORMIXSERVER 作为环境变量匹配,但我不确定。
-
根据我在问题中发布的指南,无需明确设置
INFORMIXSERVER。也许事情就像你的猜测。我将尝试验证 UCCX/Informix 服务器名称。 -
哇哇哇!原来服务器名称是
my_uccx_uccx而不是my-uccx_uccx,现在它可以工作了。如果你把你的评论变成答案,我很乐意接受!
标签: python odbc pyodbc informix