TxSeries/Encina XA Multi Threading Issue with 8.0.5..

From: <kolli_s_at_hotmail.com>
Date: 2000/03/07
Message-ID: <8a35pk$o01$1_at_nnrp1.deja.com>#1/1


Our data server is an Encina server that talks to ORACLE using XA. It contains only one non-transactional RPC which starts a transaction, does ORACLE operation, and commits the transaction. This operation uses Pro*C Method 4 (pure dynamic SQL) to perform all database related operations. The Resource Manager in Encina is registered with "Threads=true" in Open String and "Multiple Association" for Thread Agreement.

The problem appears when this one RPC is executed under heavy load. The cursor I open during the data operation seems to be getting shared by multiple calls - I am getting errors like ORA-02117/ORA-02114 etc..

I am compiling my Pro*C code with options "RELEASE_CURSOR=YES MODE=ANSI". My code looks like



void doOpeation()
{

  EXEC SQL INCLUDE SQLCA;
  EXEC SQL PREPARE;
  EXEC SQL DECLARE;
       :
       :

  EXEC SQL CLOSE cursor;
}

I tried to use THREADS=YES and changed the code as follows. It still doesn't work.



void doOperation()
{

    EXEC SQL BEGIN DECLARE;
    sql_context ctx;
    EXEC SQL END DECLARE;     EXEC SQL ENABLE THREADS;
    EXEC SQL CONTEXT ALLOCTE :ctx;
    EXEC SQL CONTEXT USE :ctx;

     EXEC SQL INCLUDE SQLCA;
           :
           :

}

How do I solve this problem? I would appreciate your responses.

Thanks

-Sudhir
kolli_s_at_hotmail.com

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Tue Mar 07 2000 - 00:00:00 CET

Original text of this message