INFORMIX ODBC配置FOR Linux
暗夜星空’s Memory from Jan 30 , 2011 at 11:32 AM , under Category:IFX/GBase
使用的系统是RHEL5.3,数据库版本是IDS V11.50UC6(已选安装CSDK V3.5)
新建一用户dbuser用于测试ODBC,使用的shell是bash
1.配置dbuser用户环境包含以下内容
INFORMIXDIR
PATH --PATH中应包含
I
N
F
O
R
M
I
X
D
I
R
/
b
i
n
I
N
F
O
R
M
I
X
S
Q
L
H
O
S
T
S
−
−
(
可
选
,
不
配
置
使
用
默
认
的
{INFORMIXDIR}/bin INFORMIXSQLHOSTS --(可选,不配置使用默认的
INFORMIXDIR/binINFORMIXSQLHOSTS−−(可选,不配置使用默认的{INFORMIXDIR}/etc/sqlhosts)
示例:
INFORMIXDIR=/opt/informix
PATH=
P
A
T
H
:
PATH:
PATH:{INFORMIXDIR}/bin
INFORMIXSQLHOSTS=${INFORMIXDIR}/etc/sqlhosts
export INFORMIXDIR PATH INFORMIXSQLHOSTS
2.配置odbcinst.ini文件
拷贝
I
N
F
O
R
M
I
X
D
I
R
/
e
t
c
/
o
d
b
c
i
n
s
t
.
i
n
i
到
d
b
u
s
e
r
用
户
目
录
下
修
改
o
d
b
c
i
n
s
t
.
i
n
i
文
件
中
的
D
r
i
v
e
r
、
S
e
t
u
p
,
将
相
应
的
目
录
改
成
{INFORMIXDIR}/etc/odbcinst.ini到dbuser用户目录下 修改odbcinst.ini文件中的Driver、Setup,将相应的目录改成
INFORMIXDIR/etc/odbcinst.ini到dbuser用户目录下修改odbcinst.ini文件中的Driver、Setup,将相应的目录改成{INFORMIXDIR}具体所有的目录即可
Driver=/opt/informix/lib/cli/iclit09b.so
Setup=/opt/informix/lib/cli/iclit09b.so
3.配置odbc.ini文件
拷贝${INFOMRIXDIR}/etc/odbc.ini文件到dbuser用户目录下
修改以下具体的内容
[ODBC Data Sources]
Infdrv1=IBM INFORMIX ODBC DRIVER --这里定义Infdrv1,类似于windows中的DSN名称
Infdrv2=IBM INFORMIX ODBC DRIVER
;
; Define ODBC Database Driver’s Below - Driver Configuration Section
;
[Infdrv1] --DSN为Infdrv1项
Driver=/opt/informix/lib/cli/iclit09b.so --修改路径为具体位置
Description=IBM INFORMIX ODBC DRIVER
Database=testdb --数据库名称
LogonID=informix --登陆数据库的用户名
pwd=informix --登陆数据库用户的密码
Servername=ids_online_net --数据库服务名INFORMIXSERVER
[Infdrv2] --DSN为Infdrv2项,略
…
[ODBC]
;uncomment the below line for UNICODE connection
;UNICODE=UCS-4
;
; Trace file Section
;
Trace=0
TraceFile=/tmp/odbctrace.out
InstallDir=/opt/informix --修改为具体的CSDK安装目录
TRACEDLL=idmrs09a.so
在用户环境中增加
ODBCINI=${HOME}/odbc.ini
export ODBCINI
4.配置.netrc文件
在用户目录下编写.netrc文件,格式如下:
machine <数据库所在的服务器名或者IP> login <用户名> password <用户密码>
示例:
machine rhel53 login informix password informix
5.配置SQLHOSTS文件,这里使用正在使用的sqlhosts文件,示例如下:
ids_online_net onsoctcp rhel53 9105
6.用户环境里增加LD_LIBRARY_PATH
LD_LIBRARY_PATH=
I
N
F
O
R
M
I
X
D
I
R
/
l
i
b
:
INFORMIXDIR/lib:
INFORMIXDIR/lib:INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql
export LD_LIBRARY_PATH
至此,ODBC就配置完成了。
测试ODBC连接:
使用informix在${INFORMIXDIR}/demo/cli的目录下,通过catalog.c生成catalog可执行文件
make catalog
然后拷贝回dbuser的用户目录下,
./catalog Infdrv1 --Infdrv1即上面配置的DSN
在类似以下的输出,即表示ODBC连接是成功的~
Using specified DSN : Infdrv1
STEP 1 done…connected to database
Table Name tt
Column: a
Column: b
Column: c
Column: d
STEP 2 done…catalog information obtained from the database
Hit to terminate the program…