在 Linux 上 Informix 连不上 通常有这几类原因,你可以按顺序排查:
onstat -
On-Lineshared memory not initialized → 没启动oninit -vy
连接必须使用 informix 用户或正确环境变量:
echo $INFORMIXDIR
echo $INFORMIXSERVER
echo $ONCONFIG
echo $PATH | grep informix
常见示例:
export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
cat $INFORMIXDIR/etc/sqlhosts
示例:
ol_informix onsoctcp 192.168.1.10 9088
检查:
onsoctcp / ontlitcp)netstat -tlnp | grep 9088
或
ss -tlnp | grep 9088
onconfig 中 PORT 配置错误或服务未启动systemctl status firewalld
iptables -L -n
允许端口:
firewall-cmd --add-port=9088/tcp --permanent
firewall-cmd --reload
INFORMIXSERVER 必须和服务端一致sqlhosts 必须能解析主机名或 IPdbaccess dbname -
GRANT CONNECT TO user;
| 错误信息 | 原因 |
|---|---|
951 |
服务未启动 |
908 |
网络/端口不通 |
111 |
连接被拒绝 |
Conversation not allowed |
协议不匹配 |
Password required |
未配置可信连接 |
请提供以下信息,我可以精准判断:
onstat - 输出sqlhosts 内容如果你愿意,可以直接把报错贴出来。