Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Handlers problem with DBTools.h++ 3.0 and Oracle native access.
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
![]() |
![]() |