informix 安装 linux 客户端
搭建 informix 服务端
如果没有 informix 服务端,可以使用 Docker 搭建一个服务用于测试,步骤略。
服务器启动后,可以通过 dbaccess 工具访问数据库,创建数据库和表,并插入数据,这个工具需要不断进入菜单和退出菜单,非常不习惯。
安装客户端
环境
CentOS7
参考文章:
https://www.it145.com/4/5526.html
https://techblog.jj-it.de/oracle-gateway-to-odbc/access-to-informix-database-informix-odbc-driver-installation/#Informix_Client_SDK_Installation
首先安装 Informix Client 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
,添加
[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
,添加
[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
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>