Solved

Oracle error ORA-01410 - invalid_rowid when editing record twice in same session

Posted on 2001-07-11
2
546 Views
Last Modified: 2007-11-27
I have a delphi 3 application that is the GUI for an application that connects to an Oracle database. We connect to the database using Borland BDE.
When we upgraded from Oracle 7 to Oracle 8 (currently using 8.1.7) I noticed the following situation.
If I open a screen in the application that allows me to edit database records, then I can make the first edit (of any number of fields) for a particular record sucessfully. However, if I try to make more changes to that same record(after commiting the first ones) then I get Oracle error 01410 "Invalid ROWID". I have to close the screen and re-open it to make further changes. Re-querying the data with the screen still open still causes the same error.
We never had this issue when using Oracle 7.
I am currently using BDE 5.1.1.
0
Comment
Question by:fgraham
2 Comments
 
LVL 6

Expert Comment

by:zebada
Comment Utility
Internally, the format, size and structure of the ROWID changed between ORA7 and ORA8. I don't have access to the ora docs so I can't be specific on what the changes are.



0
 
LVL 27

Accepted Solution

by:
kretzschmar earned 100 total points
Comment Utility
from borland:

"Invalid Row ID" when migrating from Oracle 7 to Oracle 8 - by Borland Developer Support Staff



 Question and Answer Database

     FAQ: FAQ4662D - "Invalid Row ID" when migrating from Oracle 7 to Oracle 8
Category: Database(Oracle8)
Platform: All-32Bit
 Product: All32Bit,  

Question:

I just upgraded from Oracle 7 to Oracle 8 and now I
occasionally get an "Invalid Row Id" error. I am using
the new Oracle 8 Row Id's. How can I fix this error?


Answer:

This error may occur when posting to tables that contain
LONG/Blob fields. More than likely, you are using the
old SQL Link driver. Insure that you have the BDE 5.01 installed.
In the BDE Administrator go to the Configuration tab and select
Drivers->Native->Oracle. Make sure that the DLL32 is set to
SQLORA8.DLL and the VENDOR INIT is set to OCI.DLL. Another
possible solution may be to set the TTable or TQuery's
UpdateMode property to upWhereKeyOnly.


6/21/99 1:58:59 PM
 
meikl ;-)
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now