informix 安装 linux 客户端

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 没安好,重新安装了一遍就不报错了)

posted @ 2020-12-10 14:56  吴思老  阅读(1198)  评论(3编辑  收藏  举报