Informix

 View Only
Expand all | Collapse all

Message:-9272 SQL State:IX000 Unknown error message -9272.

  • 1.  Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri August 30, 2024 11:24 AM

    I'm having an issue with our product code running on AIX 7.2 and using CDSK 4.10.UC16W1 to access Informix 14.10 running on RHEL 7. The code successfully connects and issues a rather long SQL statement, that contains many data types. The error returned is:

          Message:-9272 SQL State:IX000 Unknown error message -9272.

    I use finderr, which provides this information:

        -bash-4.2$ finderr -9272
        -9272   The data type <type_name> is not supported for current client/server configuration.
        
        The data type <type_name> is not supported for current client version.
        Modify the query not to use the <type_name> data type or upgrade client version
        
        -bash-4.2$

    The table being accessed was created from an instance of our product running on Windows and using CSDK 4.50.

    I need to figure out which column, which will tell me the data type, or the data type that is causing this error.

    I wanted to see if dbaccess would report any better information, specifically the column name using the offending data type. However, it is not included in the CSDK, so I installed Informix 14.10 on AIX. I then configured to access the Informix instance on RHEL 7 and then used dbaccess to issue the same SQL statement and it was successful.

    I looked at the log file (ol_informix1410.log) on the RHEL 7 VM, but there was nothing about the -9272 in it.

    Also note that our product running on Windows and Linux that issues the same SQL does not receive this error.

    So I have a few questions:

    1) Is there a way to enable more detailed logging information on the server? I've researched this, but have not found anything.
    2) Are there any known issues with data types with CSDK 4.10.UC16W1 on AIX? That is, are there some that are supported on other platforms, but not on AIX?
    3) Why doesn't dbaccess come with the CSDK?

    Thanks!



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------


  • 2.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri August 30, 2024 01:39 PM
    1. In your application, if you can, print out the value of sqlca.sqlerrm which will contain the offending column name (at least as much of it as will fit into the 72 character field.
    2. There are no bugs related to data types in the CSDK v4.10.FC16, however, you did state that the application was originally written using CSDK v4.50, presumably for a later release of the Informix engine. There are newer data types in v14.10 that were not supported by v12.10 for which the v4.10 CSDK was released. Can you recompile that code using CSDK v4.50? That should resolve the issue.
    3. Dbaccess is included in the CSDK beginning with v4.50, prior to that it was only included in an engine installation. So, again, install CSDK v4.50 and both of these issues go away.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 3.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri August 30, 2024 03:55 PM

    Hi @Art Kagel,

    Thanks for the reply!

    1) I have found that it is complaining about bigint. I added a trace statement that is basically a sprintf of ("sqlca.sqlerrm: %s\n", sqlca.sqlerrm); and I get this: sqlca.sqlerrm: bigint

    2) The application is Optim, which was written many years ago (close to 3 decades!) and for a very early version of Informix. We are just recently adding support for Informix 14.10 and have not made any changes to the code used to access Informix for quite some time, and none have been made for 14.10. Also, the table we are using has all of the data types of Informix that Optim supports. This table has also been around for many years and has been used for the last several releases of Optim in internal testing.

    For Linux, we do run esql on the .ec files using CSDK 4.50. For AIX I am currently using CSDK 4.10 to do the same. I did compare the resulting .c files and they are identical across the 2 platforms. So will using 4.50 on AIX change anything? I could see that moving to 4.50 on AIX for running might. But, the  problem I have is that we are a 32-bit application and 4.50 for AIX for 32-bit is not available.

    3) Thanks for the update on this. As per above, I need 4.50 on AIX in 32-bit, and it is not currently available.

    I appreciate any other insight you might have on this.

    Regards,

    Rick



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 4.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri August 30, 2024 05:19 PM

    Rick:

    See my responses in-line below:

    Art

    Hi @Art Kagel,

    Thanks for the reply!

    1) I have found that it is complaining about bigint. I added a trace statement that is basically a sprintf of ("sqlca.sqlerrm: %s\n", sqlca.sqlerrm); and I get this: sqlca.sqlerrm: bigint

    That makes sense. CSDK v4.10 only supported INT8 not BIGINT. A workaround could be to cast the bigint column value to int8 in the SQL. BIGINT is the preferred wide integer type (INT8 may eventually be deprecated, but for now ..., especially given that the developers included several INT8 type columns in system tables, it may be the way to go for you).

    2) The application is Optim, which was written many years ago (close to 3 decades!) and for a very early version of Informix. We are just recently adding support for Informix 14.10 and have not made any changes to the code used to access Informix for quite some time, and none have been made for 14.10. Also, the table we are using has all of the data types of Informix that Optim supports. This table has also been around for many years and has been used for the last several releases of Optim in internal testing.

    Not sure what to do about that.

    For Linux, we do run esql on the .ec files using CSDK 4.50. For AIX I am currently using CSDK 4.10 to do the same. I did compare the resulting .c files and they are identical across the 2 platforms. So will using 4.50 on AIX change anything? I could see that moving to 4.50 on AIX for running might. But, the  problem I have is that we are a 32-bit application and 4.50 for AIX for 32-bit is not available.

    Yea, there are no more 32bit environment support except for Windows 32 bit in Informix engines or CSDK, only 64bit. But a 64bit compiled app can access a 32bit engine over network connections (just not over shared memory). The problem is not the compiled code but rather the CSDK libraries. You are getting a runtime error, not a compile time error. So something being returned from the engine is BIGINT and the CSDK library does not recognize the type flags.

    3) Thanks for the update on this. As per above, I need 4.50 on AIX in 32-bit, and it is not currently available.

    Not just "it is not currently available" they are no longer supporting 32bit code except on Windows.



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 5.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri August 30, 2024 05:35 PM

    Hi Art,

    OK. At least now I know what the issue is! Thanks for that.

    Do you know if it is documented anywhere what data types are not supported by CSDK 4.10?

    Thanks, you been a big help with this. Have a great Labor Day weekend!

    Regards,

    Rick



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 6.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Sat August 31, 2024 09:08 PM

    Yes. This is documented in the ESQL/C manual in the v11.70 pdf documentation set.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 7.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 03, 2024 08:34 AM

    Hi Art,

    I found the 11.70 documentation here: https://www.cursor-distribution.de/aktuell/. However, I see no mention in the ESQL/C manual that BIGINT is not supported on AIX. I also looked in the Guide to SQL: Reference and Guide to SQL: Syntax documents, but did not find it there either. Do you have a link to the document that states that BIGINT is not supported on AIX? I would like to know if there are other data types that are also not supported on AIX.

    Thanks!



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 8.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 03, 2024 08:46 AM

    Dennis:

    Yea, I just looked again. Don't know what I was looking at before. You are correct, BIGINT is a supported type in that release. Doesn't solve your issue though. Hmm.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 9.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 03, 2024 09:23 AM

    So, to add a bit to this confusion:

    the BIGINT data type support is as old as Informix (server) v11.50 which would correspond to CSDK version 3.50, so client side BIGINT support should be as old as CSDK 3.50

     -> are you sure you're really using 4.10 there?

    I'd also say CSDK containing dbaccess should go back to before 4.50, before 4.10 even, can't get hold of the exact time right now

     -> this also might indicate what you're actually using is not the 4.10 you think it is?



    ------------------------------
    Andreas Legner
    ------------------------------



  • 10.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 03, 2024 04:09 PM

    Hi Andreas,

    I thought that BIGINT has been around for a long time. The table that we are using that contains it has been in use by us for a long time as well. It is strange that the same select statement on Linux and Windows runs just fine. Linux is using 4.50 32-bit:

    [optimbuild@opdvl3-op-utp-local ~]$ esql -V
    IBM Informix CSDK Version 4.50, IBM Informix-ESQL Version 4.50.UC11
    [optimbuild@opdvl3-op-utp-local ~]$

    And Windows is using 4.50 64-bit:

    E:\Programs\informix>esql -v
    IBM Informix CSDK Version 4.50, IBM Informix-ESQL Version 4.50.FC11

    E:\Programs\informix>

    AIX is using 4.10 32-bit:

    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>esql -V
    IBM Informix CSDK Version 4.10, IBM Informix-ESQL Version 4.10.UC16W1
    Software Serial Number AAA#B000000
    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>

    On AIX the CSDK is installed to /opt/IBM/Informix_Client-SDK. esql is found there:

    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>which esql
    /opt/IBM/Informix_Client-SDK/bin/esql
    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>

    But, there is no dbaccess:

    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>find /opt/IBM/Informix_Client-SDK -name dbaccess
    /export/home/o11703/IBM/InfoSphere/Optim/rt/temp>

    We do print out the version of the client in our tracing, and it works for Windows:

                                     DBMS                 : Informix
                                     DBMSVer              : 14.10.FC11
                                     ApplVer              :  4.50.FC11

    However, the same code does not work on AIX and Linux as the ApplVer on them are both blank. I'm looking into that.

    I also tried using 4.10.UC16 on Linux and it successfully processes the select statement. So the issue is only on AIX.



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 11.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Wed September 04, 2024 04:20 PM

    Hi @Andreas Legner,

    I put together a simple test case that I believe demonstrates that this is a defect in CSDK 4.10.UC16W1 on AIX.

    I created a simple table with the following SQL:

    create table johnd."bigints"
      ( "row_desc"        char(13) not null,
        "bint"            bigint   not null,
        "bint_d"          bigint   default -9223372036854775807  not null,
        "bint_n"          bigint,
        "bint_d_n"        bigint   default 9223372036854775807)
    extent size 32 next size 32 lock mode row;

    This is in an Informix 14.10 instance running on a RHEL 7 VM.

    I then ran an Archive request from an Optim server on Windows for this table. It uses CSDK 4.50.FC11. It was successful and reported that there were no rows. Here is the SQL Optim issues for the Archive request:

    SELECT row_desc, bint, bint_d, bint_n, bint_d_n FROM johnd.bigints;

    I then ran this same Archive request on an Optim server running on AIX which uses CSDK 4.10.UC16W1. It failed with the -9272 error:

    MESSAGE TEXT: Unknown error message -9272. 

    and the code I added to print out sqlca.sqlerrm issued this:

     sqlca.sqlerrm: bigint

    I also ran the same Archive request on an Optim server on Linux using CSDK 4.50.UC11 and it completed successfully

    So, again, I believe this is a defect in CSDK 4.10 UC16W1 for AIX.  How can this be reported to the Informix development team?

    Thanks!



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 12.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Sat September 07, 2024 06:05 AM

    Hi Rick,

    Can we have your ESQL/C code?

    I did a quick test on an AIX box with both 4.50.FC10 and 4.10.UC16W1 and I can query a bigint column  from both ESQL/C and ODBC so I guess yours is doing something different.

    Javier



    ------------------------------
    Javier Sagrera
    ------------------------------



  • 13.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Mon September 09, 2024 08:36 AM

    Hi Javier,

    I emailed them to you!

    Thanks!



    ------------------------------
    Rick Spagna
    Optim Development Director
    UNICOM Global
    973-755-4092
    ------------------------------



  • 14.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 10, 2024 05:00 AM

    Ummm. Nothing on my Community inbox.

    Try with my IBM  email (javier.sagrera1 at ibm com)

    Javier



    ------------------------------
    Javier Sagrera
    ------------------------------



  • 15.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Fri September 13, 2024 08:56 AM

    For everyone involved,  it appears the executable was still using some old (really old) CSDK libraries.

    Rick built it using CSDK 3.50 and now it works fine. 

    Happy days ;) 



    ------------------------------
    Javier Sagrera
    ------------------------------



  • 16.  RE: Message:-9272 SQL State:IX000 Unknown error message -9272.

    Posted Tue September 03, 2024 03:32 PM

    It seems like you're facing a data type compatibility issue between the different environments. Here are some suggestions for your questions:

    1. Enable Detailed Logging: You can try enabling SQL tracing for the Informix server by setting the SQLIDEBUG environment variable. This may provide more detailed logging of SQL execution and errors. Additionally, review the ONCONFIG file for tracing options like LOGGING, DEBUG, or TRACEFLAGS.

    2. Data Type Compatibility with CSDK 4.10.UC16W1 on AIX: While no official documentation mentions specific data type limitations for CSDK 4.10 on AIX, it is possible that newer data types supported in CSDK 4.50 (on Windows) aren't fully backward compatible with older CSDK versions on AIX. Checking your SQL statement for non-standard types (e.g., newer JSON, BSON, or custom UDTs) and refactoring them might help.

    3. dbaccess with CSDK: dbaccess is part of the Informix Client-SDK but may not be included in some installations depending on the configuration. Typically, you need the full Informix installation for dbaccess, not just the CSDK.



    ------------------------------
    Lee Stanton
    ------------------------------