You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

尝试通过unixODBC连接Cisco UCCX Informix数据库失败求助

问题:Informix ODBC驱动连接Cisco UCCX数据库失败排查

已安装IBM Informix SDK(路径/opt/IBM/Informix_Client-SDK),尝试通过ODBC连接Cisco UCCX数据库,以下是配置细节与报错情况:


1. unixODBC环境信息

执行odbcinst -j输出:

unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/alexniko/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

2. ODBC配置文件

/etc/odbc.ini 配置

[ODBC Data Sources]
uccx
uccx2

[uccx]
DRIVER={IBM INFORMIX ODBC DRIVER (64-bit)}
UID=uccxhruser
PWD=TrebuSHet{}123
DATABASE=db_cra
HOST=uccx-01.fccps.local
SERVER=uccx_01_uccx
SERVICE=1504
PROTOCOL=onsoctcp
CLIENT_LOCALE=en_US.UTF8
DB_LOCALE=en_US.UTF8

[uccx2]
DRIVER={IBM INFORMIX ODBC DRIVER 2 (64-bit)}
UID=uccxhruser
PWD=TrebuShet{}123
DATABASE=db_cra
HOST=uccx-02.fccps.local
SERVER=uccx_02_uccx
SERVICE=1504
PROTOCOL=onsoctcp
CLIENT_LOCALE=en_US.UTF8
DB_LOCALE=en_US.UTF8

/etc/odbcinst.ini 配置

[IBM INFORMIX ODBC DRIVER (64-bit)]
Driver=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER
UID=uccxhruser
PWD=TrebuShet{}123
DATABASE=db_cra
HOST=uccx-01.fccps.local
SERVER=uccx_01_uccx
SERVICE=1504
PROTOCOL=onsoctcp
CLIENT_LOCALE=en_US.UTF8
DB_LOCALE=en_US.UTF8

[IBM INFORMIX ODBC DRIVER 2 (64-bit)]
Driver=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER
UID=uccxhruser
PWD=TrebuShet{}123
DATABASE=db_cra
HOST=uccx-02.fccps.local
SERVER=uccx_02_uccx
SERVICE=1504
PROTOCOL=onsoctcp
CLIENT_LOCALE=en_US.UTF8
DB_LOCALE=en_US.UTF8

3. 前置检查

执行ldd -v /opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so无报错,驱动依赖库齐全。

4. Python连接字符串

SERVICE=1504;PROTOCOL=onsoctcp;
CLIENT_LOCALE=en_US.UTF8;DB_LOCALE=en_US.UTF8;
DRIVER=IBM INFORMIX ODBC DRIVER (64-bit);
UID=uccxhruser;PWD=TrebuShet{}123;
DATABASE=db_cra;
HOST=uccx-01.fccps.local;
SERVER=uccx_01_uccx;

5. 报错信息

  • Python连接报错:
Can't open lib '/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so' : file not found (0) (SQLDriverConnect)
  • 使用isql -v uccx测试驱动报错:
[IM002][unixODBC][Driver Manager]Data source name not found and no default driver specified
[ISQL]ERROR: Could not SQLConnect

问题排查与修复步骤

1. 修正odbcinst.ini配置错误

odbcinst.ini是驱动定义文件,不应包含数据库连接的具体参数(UID、PWD、DATABASE等),这些参数需放在odbc.ini的数据源配置中。修改后的odbcinst.ini:

[IBM INFORMIX ODBC DRIVER (64-bit)]
Driver=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER (64-bit)
Setup=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
FileUsage=1

[IBM INFORMIX ODBC DRIVER 2 (64-bit)]
Driver=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER 2 (64-bit)
Setup=/opt/IBM/Informix_Client-SDK/lib/cli/iclis09b.so
FileUsage=1

2. 确保配置文件权限正确

检查/etc/odbc.ini和/etc/odbcinst.ini的读取权限,确保当前用户可访问:

sudo chmod 644 /etc/odbc.ini /etc/odbcinst.ini

3. 配置Informix环境变量

Informix驱动依赖环境变量加载,在用户shell配置文件(/.bashrc或/.zshrc)中添加:

export INFORMIXDIR=/opt/IBM/Informix_Client-SDK
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
export PATH=$INFORMIXDIR/bin:$PATH

执行source ~/.bashrc使配置生效。

4. 修正odbc.ini驱动名称格式

驱动名称需与odbcinst.ini中的驱动段名完全一致,且移除大括号(部分unixODBC版本兼容不佳):

[uccx]
DRIVER=IBM INFORMIX ODBC DRIVER (64-bit)
# 其余参数保留不变

[uccx2]
DRIVER=IBM INFORMIX ODBC DRIVER 2 (64-bit)
# 其余参数保留不变

5. 测试连接

  • 验证驱动是否被识别:
odbcinst -q -d
  • 测试数据源连接:
isql -v uccx
  • 若仍报错,直接用驱动参数连接:
isql -v -d "IBM INFORMIX ODBC DRIVER (64-bit)" "uccxhruser" "TrebuSHet{}123" "SERVER=uccx_01_uccx;DATABASE=db_cra;HOST=uccx-01.fccps.local;SERVICE=1504;PROTOCOL=onsoctcp;CLIENT_LOCALE=en_US.UTF8;DB_LOCALE=en_US.UTF8"

6. Python连接优化

确保pyodbc库为64位版本,与驱动、unixODBC位数一致;连接字符串避免不必要换行,保持参数格式正确:

conn_str = (
    "DRIVER=IBM INFORMIX ODBC DRIVER (64-bit);"
    "UID=uccxhruser;"
    "PWD=TrebuSHet{}123;"
    "DATABASE=db_cra;"
    "HOST=uccx-01.fccps.local;"
    "SERVER=uccx_01_uccx;"
    "SERVICE=1504;"
    "PROTOCOL=onsoctcp;"
    "CLIENT_LOCALE=en_US.UTF8;"
    "DB_LOCALE=en_US.UTF8"
)

内容的提问来源于stack exchange,提问作者Alexey Nikolaev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 02:09:10