My client has recently upgraded from Oracle 184.108.40.206 to Oracle 8.1.7 and is experiencing some problems that perhaps someone in the group can help me with. We are unable to insert and update SOME of the tables in the database.
The front end is built in VB5 using Oracle Objects 2.0. Some of the tables react fine thru the application but some don't. As far as I can tell, the VB code is the same in all cases. The funny part is that some of the tables that aren't working thru VB can be inserted into using SQL*PLUS (SQL NET).
The error is ORA-01410 Invalid Rowid. I have tried to export the data - truncate the table - and import the data, and I have also tried to re-create the indexes.
Do I need to upgrade Oracle Objects? Why do similar table structures with similar code to perform inserts and updates produce different results?
Analyze the schema or tables giving problems and retry.
There was a change in the ROWID format between Oracle 7 and Oracle 8.
I have seen certain apps that do updates by using the ROWID (update table BLAH set .... where rowid = #####)
fail with this error because they are expecting the old rowid format and suddely the database has a new format for rowid.
Borland's 16 bit BDE (Borland Database Engine) will do the same thing, and the only way around it is to use the 32 bit BDE.
I don't know anything about VB, but you might be able to fix yor problem by recompiling your application with a newer version of it. Or, if your app is using ODBC, maybe you need a newer version of ODBC.
A newer version of Oracle Objects did the trick.
Thanks for your replies.