We are currently porting applications from a DEC Unix environment to Solaris. Our previous Oracle version was 8i and we are now using 10g on the Solaris system. We have several tables and are able to insert and fetch from all excpet one of the defined tables. The one table causing the issue contains a mix of string, integer and floating point values. The definitions of the string and the integers from the old server to the new one has not changed. The floating values had been defined as "FLOAT" under 8i but under 10g they are "FLOAT(126)". We are able to insert rows into this table without error, and we are able to fetch all rows in this table using SQL. The problem is that our application, using OCIStmtExecute, receives a -2 return status when the initial fetch is attempted and we continue down an error path. Any thoughts as to why the SQL retrievals are successful but our application (C interface) is not? Is it conceivable that the float values inserted by the same C definition is expanded to fit the "FLOAT(126)" definition and when the fetch is attempted, the supplied float variable is not large enough to hold the expanded value but the SQL query is? Any thoughts on the topic would be appreciated.
July 30, 2009 3:10 PM
July 31, 2009 8:29 PM