informix 安装 linux 客户端
搭建 informix 服务端
如果没有 informix 服务端,可以使用 Docker 搭建一个服务用于测试,步骤略。
服务器启动后,可以通过 dbaccess 工具访问数据库,创建数据库和表,并插入数据,这个工具需要不断进入菜单和退出菜单,非常不习惯。
安装客户端
环境
CentOS7
参考文章:
informix 客户端安装步骤
访问 informix 数据库,informix ODBC 驱动安装
首先安装 Informix Client SDK,找 SDK 的下载地址浪费了好长时间!!从这里下载 IBM software
ibm.csdk.4.50.FC4W1.LNX.tar
上传 CentOS7 主机,解压
tar xf ibm.csdk.4.50.FC4W1.LNX.tar
创建目录,我们会把 SDK 安装在这里
mkdir -p /opt/IBM/informix
执行安装
./installclientsdk -i console
安装步骤中,其中有一步会让我们选择安装目录,输入 /opt/IBM/informix
编辑 /etc/services
文件,添加内容:
adr_port 9088/tcp
从 sqlhosts.std
复制一个 sqlhosts
文件
cp /opt/IBM/informix/etc/sqlhosts.std /opt/IBM/informix/etc/sqlhosts
编辑 /opt/IBM/informix/etc/sqlhosts
文件,添加:
informix onsoctcp 192.168.10.165 adr_port
informix 是 DBSERVERNAME,在 informix 启动 dbaccess 看到的那个
192.168.10.165 是 informix 的 IP
adr_port 就是前边配置在 /etc/services
中的,似乎也可以直接写端口
复制两个文件到 /etc
下边
cp /opt/IBM/informix/etc/odbc.ini /etc/
cp /opt/IBM/informix/etc/odbcinst.ini /etc/
编辑 /etc/odbc.ini
,添加
# Driver 如果 SDK 安装路径一样,这里保持不变
# Database 数据库名称
# LogonID 用户名
# pwd 密码
# TRANSLATIONDLL 如果 SDK 安装路径一样,这里保持不变
# 没有说明的可以不变
[test]
Driver=/opt/IBM/informix/lib/cli/iclit09b.so
Description=IBM INFORMIX ODBC DRIVER
Database=mytest
LogonID=informix
pwd=in4mix
Servername=informix
CursorBehavior=0
CLIENT_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/opt/IBM/informix/lib/esql/igo4a304.so
;
; UNICODE connection Section
;
编辑 /etc/odbcinst.ini
,添加
# Driver 如果 SDK 安装路径一样,这里保持不变
# Setup 如果 SDK 安装路径一样,这里保持不变
# 其他不变
[IBM INFORMIX ODBC DRIVER]
Driver=/opt/IBM/informix/lib/cli/iclit09b.so
Setup=/opt/IBM/informix/lib/cli/iclit09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.51
FileUsage=0
SQLLevel=1
smProcessPerConnect=Y
在 /etc/profile
添加环境变量
# INFORMIX
# 如果 SDK 安装路径一样,这里保持不变
export INFORMIXDIR=/opt/IBM/informix
export ODBCINI=/etc/odbc.ini
export ODBCINSTINI=/etc/odbcinst.ini
export PATH=$PATH:/opt/IBM/informix/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
使生效
source /etc/profile
安装 ODBC
yum install unixODBC-devel
访问数据库
isql -v test
顺利的话,将看到如下信息
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
遇到的错误
刚开始遇到了个错误,执行 isql -v test
报错,提示 /opt/IBM/informix/lib/cli/iclit09b.so
找不到
看了一下,这个文件是存在的
通过 ldd /opt/IBM/informix/lib/cli/iclit09b.so
发现依赖文件不存在(一般不会有问题,我是安装 SDK 没安好,重新安装了一遍就不报错了)