ORA-01410....

Dean

Member²
Hi there,

A client is running into a problem when updating records in their database. They're getting a ORA-01410, which is an Invalid Row ID. This is the first time I've seen this, and it doesn't occur on any test machines. They're running 8.1.5 client against an 8.1.7 database. I've run 8.0.5 against 8.1.7 with no problems today, and I'll be trying others later. Seems like maybe an Oracle bug, I use 'Live' datasets and the problem is with a select statement that is generated internally with a Rowid parameter. Anyone seen this one?
 
A bit of a followup. We managed to get the exact same client - server configuration on our lab, and naturally there is no problem. So it looks like it's either some kind of configuration issue or maybe related to their platform (I forgot to find that out). Anyone know if there are any kinds of config issues that can affect the rowid?
 
Is there anything special about the table where this rowid comes from? Is it an index organized table? How exactly is the rowid obtained that leads to the error?

------------------
Marco Kalter
Allround Automations
 
Found the problem, it's a really obscure one. Turns out when you put the database on an IBM-0S390 Mainframe it uses the EDCDIC character set. When the client uses ASCII, it causes all of the rowid's to get jumbled up, which in turn causes the ORA-01410 error when you try to use the ROWID that you've fetched. You can tell if you have the problem by using SQL Plus and doing a 'select ROWID from wherever' and it returns a bunch of gibberish Rowids with bizzarre ascii characters in them. It's an Oracle bug, which I think has been fixed in 8.1.7, though we're still waiting for the client to verify it. Will update this post when I've verified.

Take Care
Dean

[This message has been edited by Dean (edited 02 August 2001).]
 
We are getting a similar error using the following:
Database Server: 8.1.7.0.0 (on W2K)
Database Client: 8.1.7.0.0 (on W2K pro)

The RowId returned in C++ Builder is
*BAFAFiIKTDEwMDAwMDAwM

The RowId returned in SQL Plus is
*BAFAFiIKTDEwMDAwMDAwMv4

Is this normal behavior? (For a SQL Plus query to show a slightly different RowId than that returned by TOracleDataSet->RowId() )

For context, my app is crashing when trying to place the TOracleDataSet in Edit mode using ->Edit() and reporting oracle error ORA-01410 invalid ROWID
 
Back
Top