无法通过Windows10 64位ODBC连接RedHat8上的Informix14.10求助
Informix ODBC连接失败问题排查及解决建议
环境配置信息
Linux端(RedHat 8,Informix 14.10)
- 服务器IP:
192.168.183.129,Windows可正常ping通 - 主机名:
localhost.localdomain - DBSERVERNAME:
ol_informix1410 $INFORMIXDIR/etc/sqlhosts配置:
#dbserver net_Type Host_Name Service_Name ol_informix1410 onsoctcp localhost.localdomain ol_informix1410 dr_informix1410 drsoctcp localhost.localdomain dr_informix1410 lo_informix1410 onsoctcp 127.0.0.1 lo_informix1410 ol_informix1410 onsoctcp 192.168.183.129 ol_informix1410
/etc/hosts内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.183.129 localhost localhost.localdomain localhost4 localhost4.localdomain4
- Linux services端口配置:
ol_informix1410 10070/tcp ol_informix1410_json 27017/tcp
- 本地dbaccess连接正常,会话信息:
DBACCESS: Query-language Connection Database Table Session Exit Retrieve information about the current DB-Access session. ----------- superstore_demo@ol_informix1410 ------ Press CTRL-W for Help ------ Server ol_informix1410 Dynamic Server Connected to host192.168.183.129 Multi-threaded Server Capabilities NLS Distributed XA NLS Capabilities and Attributes en_US.819 Collating Sequence en_US.819 CType
Windows端(Windows 10)
- 安装64位IBM INFORMIX ODBC DRIVER,版本4.50.00.18347(文件:
ICLIT09B.DLL),日期2021/10/23 - 配置系统DSN后,测试连接报错:
**Test connection was not successful. [Informix][Informix ODBC Driver][Informix] System error occurred in network function.**
解决建议
1. 检查防火墙端口开放情况
RedHat 8默认启用firewalld,需确保Informix服务端口10070/tcp对外开放:
# 临时开放端口 firewall-cmd --add-port=10070/tcp --permanent # 重载防火墙规则 firewall-cmd --reload # 验证端口是否开放 firewall-cmd --list-ports | grep 10070
2. 修正/etc/hosts配置冲突
当前/etc/hosts中192.168.183.129和127.0.0.1都绑定了localhost.localdomain,会导致Informix服务绑定IP时出现歧义。修改/etc/hosts,给服务器IP配置独立主机名:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.183.129 informix-server localhost.localdomain localhost4 localhost4.localdomain4
修改后重启Informix服务:
onmode -ky oninit
3. 调整ODBC DSN配置
确保DSN中以下参数正确:
- Server Name:填写
ol_informix1410 - Host Name:填写Linux服务器IP
192.168.183.129(避免Windows主机名解析问题) - Service Name:直接填写
10070(跳过services文件解析) - Protocol:选择
onsoctcp
4. 验证Windows到Linux的端口连通性
在Windows命令行执行以下命令测试端口是否可达:
# 使用PowerShell Test-NetConnection 192.168.183.129 -Port 10070 # 或telnet(需先启用telnet客户端) telnet 192.168.183.129 10070
如果不通,说明网络层面存在阻断,需排查防火墙、路由等问题。
5. 检查Informix服务绑定IP
确认Informix服务是否正确绑定到对外IP:
netstat -tulpn | grep 10070
输出应显示服务绑定到0.0.0.0:10070或192.168.183.129:10070,而非仅127.0.0.1。
内容的提问来源于stack exchange,提问作者user5838729
相关产品推荐
相关产品推荐

