在 Ubuntu 上运行 Informix 报错,原因通常集中在环境配置、权限、依赖库、版本兼容性这几类。下面先给你一个常见报错原因清单,再给你排查步骤,你可以对照看是哪一种。
Informix 强依赖以下环境变量:
INFORMIXDIR
INFORMIXSERVER
ONCONFIG
PATH
LD_LIBRARY_PATH
典型报错:
Cannot find INFORMIXDIRINFORMIXSERVER not setsqlhosts not found✅ 解决:
export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
很多 Informix 版本是 32-bit,Ubuntu 默认是 64-bit。
典型报错:
No such file or directory(实际是库缺失)error while loading shared libraries✅ 解决(示例):
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386 libstdc++6:i386
$INFORMIXDIR/etc/sqlhosts 必须与 ONCONFIG 中一致。
典型报错:
Cannot connect to serverProtocol error✅ 示例:
ol_informix onsoctcp localhost 9088
Informix 对权限非常敏感。
典型报错:
Permission deniedCannot open chunk✅ 检查:
ls -l $INFORMIXDIR
id informix
数据库目录/chunk 必须属于 informix:informix
Ubuntu 用 systemd,而 Informix 传统用 oninit。
典型报错:
oninit: command not found✅ 建议:
oninit -vy
而不是直接用 systemctl(除非你写了 unit 文件)
例如:
典型报错:
GLIBC_2.xx not found✅ 解决:
请把 具体报错信息 发出来,我可以精准判断。
你可以先执行:
env | grep INFORMIX
oninit -vy
然后把输出贴出来。
lsb_release -a)我可以一步一步帮你修好。