在 Linux 下连接 IBM Informix 数据库失败,原因很多,建议按下面顺序逐项排查。
检查连接参数是否准确:
INFORMIXSERVER)sqlexec 服务)示例:
dbaccess dbname@servername -
在数据库服务器上执行:
onstat -
On-Line启动数据库:
oninit -v
从客户端 Linux 测试:
ping 数据库IP
telnet 数据库IP 端口
例如:
telnet 192.168.1.10 9088
客户端 /etc/sqlhosts 或 $INFORMIXDIR/etc/sqlhosts:
示例:
infserver onsoctcp 192.168.1.10 9088
注意:
onsoctcp / olsoctcp)测试:
nslookup 192.168.1.10
客户端必须设置:
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=infserver
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib
验证:
env | grep INFORMIX
-908 / -930无法连接到数据库服务器
原因:
-951用户或密码错误
-111网络不可达
-25596协议不匹配
服务器端日志:
$INFORMIXDIR/tmp/online.log
客户端可加调试:
export INFORMIXCONTIME=5
export INFORMIXCONRETRY=2
firewall-cmd --add-port=9088/tcp --permanent
firewall-cmd --reload
setenforce 0
✅ 服务在跑
✅ 端口通
✅ sqlhosts 正确
✅ 环境变量正确
✅ 用户名密码正确
如果你愿意,可以把 具体报错码(如 -908、-951) 和 连接方式(dbaccess / JDBC / ODBC) 发出来,我可以更精准帮你定位。