We are upgrading to Oracle 8.1.7 from Oracle 8.0.5....Most of our code is in Pro*C++....We were on Solaris Platform and Oracle 8.0.5 earlier and moved to Sequent (from IBM) Platform and Oracle 8.0.5 (just to mention you all, both the platforms has Unix has the OS)...The compilation of the code went smooth without much hiccupps...However, when we started compiling code on Sequent with Oracle 8.1.7, we started getting some ORA errors...While attempting to solve those problems, we found that there are certain variables which are declared in the declaration section of Pro*C++ code, which are having memory problems...For example an array x defined to be of size 34 characters was working without any problems on Sun and Sequent platforms with Oracle 8.0.5 version...the same code was throwing ORA-1458 error on Sequent platform with Oracle version 8.1.7 (until we increased the size of the array with 200)...Just for all your information ora 1458 means the following...

oerr ora 1458
01458, 00000, "invalid length inside variable character string"
// *Cause:
// *Action:

The only change we had was the Oracle Version with the version of Sequent OS remaining same...I shall be glad if some can explain this behavior to me...In fact we have around 75 programs in Pro*C++ where such declarations are made...Is there any conversion factor to determine the correct memory allocation????

Thanks in advance.....


FYI...I submitted the same question in the developer's forum also just to get more members attention....