blogger

    blogger
  • hot log

  • comment

    twitter

    • 空间续费,加上ssl连接。。

      2018-11-22 01:04

    • 12.10.xC6出来时候碰到"Could not determine encryption mode from page zero",竟果然是BUG!http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg21973408

      2015-12-21 20:15

    • 空间已经转移到新加坡,希望会好一些。

      2015-11-16 14:34

    • 增加新域名liaosnet.cc,与liaosnet.com同指向。

      2015-10-09 15:25

    • 空间迁移到香港。或许速度会快一点。。

      2014-02-13 20:10

    • More»

    blog sort

    links

    record

    banner

    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中应包含${INFORMIXDIR}/bin
    INFORMIXSQLHOSTS --(可选,不配置使用默认的${INFORMIXDIR}/etc/sqlhosts)

    示例:
    INFORMIXDIR=/opt/informix
    PATH=$PATH:${INFORMIXDIR}/bin
    INFORMIXSQLHOSTS=${INFORMIXDIR}/etc/sqlhosts

    export INFORMIXDIR PATH INFORMIXSQLHOSTS

    2.配置odbcinst.ini文件
    拷贝${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=$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 <Enter> to terminate the program...