IBM Support

Fail to connect to Informix using InformixCLI stage in DataStage.

Troubleshooting


Problem

Example program fails with following errors: SQLSTATE = S1000                                                            NATIVE ERROR = 0                                                            MSG = [DataDirect][ODBC lib] Unicode converter buffer overflow                                                                                          SQLConnect: Retrying Connect.                                               SQLSTATE = 0                                                                NATIVE ERROR = -11041                                                       MSG =  SQLConnect: Retrying Connect.                                               SQLSTATE = S1000                                                            NATIVE ERROR = -25555                                                       MSG =

Cause

Possible causes:

  • [ODBC] entry is missing UNICODE=UTF-8. 
  • Entry is missing from $INFORMIXDIR/etc/sqlhosts file.

Resolving The Problem

Please make sure the following are correct:

  1. Confirm the dsenv file under DSEngine directory contains the correct environment variables INFORMIXSERVER, ONCONFIG, INFORMIXDIR,INFORMIXSQLHOSTS and library path.

    Sample entry: INFORMIXSERVER=dbengine1_tcp; export INFORMIXSERVER
    ONCONFIG=onconfig.dbengine1_tcp; export ONCONFIG
    INFORMIXDIR=/opt/apps/informix/clientsdk; export INFORMIXDIR
    INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts; export INFORMIXSQLHOSTS
    LIBPATH=$LIBPATH:$INFORMIXDIR/lib:$INFORMIXDIR/bin:$INFORMIXDIR/lib/esql:$INFORMIXDIR/etc:$INFORMIXDIR/lib/cli;export LIBPATH -- Please note:
    • The example above uses LIBPATH for AIX. For Solaris and Linux, you will need to use LD_LIBRARY_PATH, and on HP-UX you will need to use SHLIB_PATH instead of LIBPATH.
    • Any modifications made to the dsenv file require stopping and restarting DataStage for the changes to take an effect.
  2. Verify the .odbc.ini under DSEngine directory has correct entry.

    Sample entry:
    [InformixODBCTest]
    Driver=/opt/apps/informix/clientsdk/lib/cli/iclit09b.so
    Description=IBM INFORMIX ODBC DRIVER
    Database=<databasename>
    LogonID=
    pwd=
    Servername=dbengine1_tcp
    HostName=<ipaddress>                                                        
    PortNumber=<port>                                                            
    TRANSLATIONDLL=/opt/apps/informix/clientsdk/lib/esql/igo4a304.so     
  3. Make sure the [ODBC] entry in .odbc.ini file contains entry UNICODE=UTF-8.

    Sample entry:
    [ODBC]
    IANAAppCodePage=4
    InstallDir=/opt/IBM/InformationServer/Server/branded_odbc
    Trace=0
    TraceDll=/opt/IBM/InformationServer/Server/branded_odbc/lib/odbctrac.so
    TraceFile=odbctrace.out
    UseCursorLib=0
    UNICODE=UTF-8
  4. Confirm $INFORMIXDIR/etc/sqlhosts file has the servername entry. Sample entry: dbengine1_tcp onsoctcp <ipaddress> dbengine1_tcp

[{"Product":{"code":"SSZJPZ","label":"IBM InfoSphere Information Server"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Not Applicable","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"8.5;8.1;8.0.1;7.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21568011