IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.



#Automation


#Applicationintegration
#webMethods
#Integration
 View Only
  • 1.  ODBC Callback - SxsSQLGetData()

    Posted 08/20/02 10:29 AM

    This program is a part of map in function using ODBC Callback.

    sqr = SxsSQLPrepare (statementHandle, “select * from emp;”);

    int ret = SxsSQLExecute (statementHandle);
    sqr = SxsSQLFetch (statementHandle);

    int bufferLength = 100;
    byte resBuffer = new byte [bufferLength];
    IntRef resIndicator = new IntRef (10000);
    short colNo = 2;

    sqr = SxsSQLGetData (statementHandle, colNo, SQL_C_CHAR, resBuffer, bufferLength,resIndicator);

    Now this program works fine.
    The problem is,
    1. the query that i gave gives multiple rows and columns. But in the SxsSQLGetData() method column no. has to be specified so, i can’t address multiple columns.

    2. the 2nd column(with respect to this program) contains multiple rows. But byte array is storing only the first record and some unknown data leaving remaining rows.

    OUTPUT:-
    sha Q _Java_com_softwareag_ino_sxs_ASXJBase_n_1SxsSQLGetData@36 e m p

    i need a solution to address multiple rows and columns.


    #API-Management
    #webMethods
    #Tamino


  • 2.  RE: ODBC Callback - SxsSQLGetData()

    Posted 08/20/02 11:08 AM

    To achieve your goal you should use SxsSQLBindCol. Attached is a code snippet containing a query function which returns a given number of rows from a table with 3 columns (nkey, name, phone).

    I hope it makes clear how to use SxsSQLBindCol to get multiple rows.

    Regards

    Julius Geppert
    Quality Engineer Tamino
    Software AG
    fetch_n_rows_snippet.java (4.19 KB)


    #webMethods
    #API-Management
    #Tamino


  • 3.  RE: ODBC Callback - SxsSQLGetData()

    Posted 08/20/02 11:16 AM

    Hello sha,

    To get multiple columns, you have to call SxsSQLGetData() multiple times with the number of each column you want.

    With SxsSQLFetch() you can switch to the next row in the result set. SxsSQLGetData() always gives you the column values of the actual row.

    I confess, this is a little bit tedious, but ODBC is defined that way.

    I hope this will also help, Gernot


    #Tamino
    #webMethods
    #API-Management