Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: OCITransStart Problem, starting simple readonly transaction

Re: OCITransStart Problem, starting simple readonly transaction

From: David B <boileaub_at_hotmail.com>
Date: 3 Jun 2002 12:11:39 -0700
Message-ID: <970754b0.0206031111.21bcd535@posting.google.com>


Kevin English <kenglish_at_4csoftware.com> wrote in message
> >According to the Oracle OCI documentation, to start a read only
> >transaction, I need to explicitly start the transaction using
> >OCITransStart()
> >
> >So I added the following code for the read only local transaction :
> >
> >checkStatus(
> > OCITransStart( _serviceContext,
> >
> >DbEnvOracle::getInstance().getErrorHandle(),
> > 0,
> > OCI_TRANS_NEW | OCI_TRANS_READONLY )
> >);
> >
> >Running my application with this causes checkStatus() to fail ...
> >OCITransStart return OCI_INVALID_HANDLE
> >I know that _serviceContext and the error handle should be valid since
> >my application works fine without OCITransStart().
> >
> >Do I have to manually allocate a transaction handle ? or am I missing
> >a step...
> Hi,
> Have you allocated a transaction handle and set it into the
> service context, using OCIAttrSet(...OCI_ATTR_TRANS) ?
> Without doing that you will get the OCI_INVALID_HANDLE error from
> OCITransStart().
> Cheers
> Kevin English
>

I added the OCITrans allocation but when I set it in the _serviceContext, the status return the ORA-24336: invalid result set descriptor. However, txn is being initialized and in not null at the time of the OCIAttrSet()

OCITrans* txn = 0;

sword status = OCIHandleAlloc(
  DbEnvOracle::getInstance().getEnv(),
  (dvoid**)&txn,
  OCI_HTYPE_TRANS,
  0,
  0
);

status = OCIAttrSet(
 _serviceContext,
 OCI_HTYPE_SVCCTX,
 txn,
 0,
 OCI_ATTR_TRANS,
 DbEnvOracle::getInstance().getErrorHandle() );

I create the connection with the server using the OCILogon() ( the simplified method ), do I have to manually create the server, session and service context by hand ? Or maybe I missed something... Received on Mon Jun 03 2002 - 14:11:39 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US