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 -> Handlers problem with DBTools.h++ 3.0 and Oracle native access.

Handlers problem with DBTools.h++ 3.0 and Oracle native access.

From: Michael Kochetkov <mkochetk_at_trustworks.commm>
Date: Mon, 3 Apr 2000 17:42:44 +0400
Message-ID: <38e89f08@newshost.elvis.ru>


Hi all.
I have the following problem with RogueWave DBTools.h++ 3.0. I execute an SQL query which contains an error: wrong field name of a table. I set my error handler on a connection and I install another my error handler in the beginning of the program (RWDBManager::setErrorHandler(MErrorHandler)). I use native MS SQL Server and Oracle libraries. The connection handler is invoked for MS SQL Server. No handlers are invoked for Oracle while reader is not valid.
Code example:
RWDBReader reader = sel.execute(t3.conn()).table().reader(); if ( !reader.isValid() ) {
 cout << "Here" << endl; // We are here on Oracle connection but handlers do not get control
}

The RogueWave Oracle documentation says the following. "Oracle does not distinguish between errors originating from the server and errors generated within OCI itself. All errors are reported in the same manner, without classification. DBTools.h++ follows the Oracle error processing by always assigning the error code RWDBStatus::serverError. In all cases, the application's error handler will not be invoked unless there is an error."
Frankly speacking, I do not understand the last sentence :(. In my case some errors invoke my handlers for Oracle some do not.

I heavily rely upon the handlers and I would appreciate any help or suggestions.

With regards,
Michael Kochetkov. Received on Mon Apr 03 2000 - 08:42:44 CDT

Original text of this message

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