我想用Python脚本从Cisco UCCX数据库(Informix(中提取数据。
按照本指南所述安装 Informix 客户端 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 或 DBSERVER 不匹配 DBSERVERALIASES。(-761)(SQLDriverConnect('(
我该如何解决这个问题?
将注释转换为答案。
从表面上看,你已将环境变量$INFORMIXSERVER
(或在连接字符串中指定其值(设置为不正确的值。服务器名称不应包含短划线,因此可能是连接字符串中的SERVER=my-uccx_uccx
有问题,也可能位于其他位置。我冒昧地猜测您的服务器是my_uccx_uccx
的(下划线而不是破折号(——但这是一个猜测。了解为实际服务器指定的内容至关重要。
变量 INFORMIXSERVER 是否对应于连接字符串中的 SERVER 参数?
这是我没有的信息 — 连接字符串中的SERVER
很有可能与环境变量INFORMIXSERVER
匹配,但我不确定。
鉴于后来的成功,连接字符串中的SERVER
很可能对应于环境中的INFORMIXSERVER
。
呜呜!原来服务器名称是
my_uccx_uccx
而不是my-uccx_uccx
,现在它可以工作了。
太好了 — 我很高兴您启动并运行。