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

Home -> Community -> Usenet -> c.d.o.server -> Oracle ODBC question/problem?

Oracle ODBC question/problem?

From: Jim Morgan <jjmorgan_at_us.ibm.com>
Date: Fri, 28 Aug 1998 11:08:35 -0400
Message-ID: <6s6h28$12co$1@rtpnews.raleigh.ibm.com>


We are having a problem with an ODBC application we have written in MS Visual C++. The ODBC calls we use are strictly C ODBC API calls. Our client application runs on a Win95 or NT4 client and connects to an Oracle 7.3.2.3 database on AIX.

We have several fields in our Oracle tables defined as NUMBER(18). Whenever we try to pull some of these values out of the database, we get an error if the number itself in the database is more than 10 digits. The error is returned from the Oracle ODBC driver. If we use the Intersolv ODBC driver, we do not get any error and everything works fine.

There are two things I'm curious about: what exactly is the Oracle driver doing, and how can I get around it. It appears the Oracle ODBC driver is always trying to put numeric database columns into a numeric (int?) variable, and when the numeric value is too large for the int variable to hold, we are getting an error. We surmise the Intersolve driver is putting the data into a character host variable and then doing some sort of numeric conversion.

The native error returned by the Oracle ODBC driver is 1455 ("converting column overflows integer datatype").

We can get around this problem by redefining the database column to be VARCHAR2 instead of NUMBER, but our software is installed at several customer sites so that is only a last resort. Our customers would rather use the Oracle ODBC driver because the Intersolv driver is so much more expensive. We make only core ODBC calls in our application, so the extra support in the Intersolv drivers is not something we need.

Any information is greatly appreciated. --
Regards,
Jim Received on Fri Aug 28 1998 - 10:08:35 CDT

Original text of this message

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