Ubuntu连接 Informix 服务器的实用步骤
一 准备与安装客户端
- 获取并安装适用于 Linux 的 IBM Informix Client SDK/CLI(选择与你 Ubuntu 架构一致的安装包,常见为 .rpm 或 .deb)。Ubuntu 可直接安装 .deb;若为 .rpm,可用 alien 转换后再安装。示例:sudo dpkg -i informix-client_*.deb;遇到依赖问题执行 sudo apt-get install -f。安装完成后建议将 INFORMIXDIR 设为 /opt/informix(或你的实际安装目录)。
二 配置环境变量与网络文件
- 设置环境变量(写入 ~/.bashrc 或 /etc/profile 以持久化):
- export INFORMIXDIR=/opt/informix
- export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
- export PATH=$INFORMIXDIR/bin:$PATH
- 可选:export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
- 使配置生效:source ~/.bashrc 或 source /etc/profile
- 配置 sqlhosts(客户端解析服务器与端口的关键):
- 推荐将 sqlhosts 放在 $INFORMIXDIR/etc/sqlhosts(或 ~/.sqlhosts,并确保 INFORMIXSQLHOSTS 指向该文件)。
- 条目格式:服务器别名 协议 主机/IP 服务名/端口。示例:
- myserver onsoctcp 192.0.2.10 9088
- 或使用服务名:myserver onsoctcp dbhost.example.com sqlexec
- 说明:协议常见为 onsoctcp(TCP/IP),服务名需在 /etc/services 中定义(如 sqlexec 9088/tcp)。完成后可用 telnet 或 nc 测试端口连通性。
三 测试连接与常用工具
- 使用 isql 验证连接(CLI 方式):
- isql -v 服务器别名 用户名 密码
- 成功进入 SQL 提示符后可执行 SELECT、SHOW TABLES 等语句。
- 使用 dbaccess(菜单式工具):
- dbaccess 数据库名 -
- 在交互界面中选择表、执行查询或运行脚本。
- 连接失败优先检查:环境变量是否正确、sqlhosts 条目与端口、服务器监听与防火墙设置。
四 常见问题与排查
- 库加载失败或命令找不到:检查 INFORMIXDIR/lib 是否在 LD_LIBRARY_PATH,以及 $INFORMIXDIR/bin 是否在 PATH。
- 找不到 sqlhosts:确认 INFORMIXSQLHOSTS 指向了正确文件,或把 sqlhosts 放在 $INFORMIXDIR/etc/sqlhosts 并使用绝对路径。
- 端口不通:在服务器确认 onstat -g ntt 监听的端口,在客户端用 nc -vz 主机 端口 或 telnet 主机 端口 测试;必要时在防火墙放行对应 TCP 端口(如 9088 或你在 /etc/services 定义的服务端口)。
- 包格式不兼容:Ubuntu 优先 .deb;若为 .rpm 可用 alien 转换后安装,或改用 IBM 提供的 Linux x86_64 .deb 包。