Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations John Tel on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Oracle error 01466 table def changed

Status
Not open for further replies.

clintonwhite

IS-IT--Management
Aug 8, 2002
42
GB
Hi There,

I am using Crystal reports 6 to produce a very simple report that is just the complete contents of an Oracle 8 database table. I created the table in Oracle and dropped it onto the Crystal report and everything worked fine.

However my program runs a monthly report that drops the Oracle table and re-creates it (currently in exactly the same format as originall created in Oracle). Now when I come to print the report through the application or view it in Crystal 6, I get and ODBC error from Oracle (ORA 01466) saying "Unable to read data - table definition has changed).

I thus went back into Crystal and removed the table from the report and added it again - still get the same message. Obviously the ODBC link to Oracle (or more likely) Oracle it's self is flagging that the table has changed / been recreated. I have tried a datbase verify and althoogh it says the database is now up to date within Crystal reports I still get the error message.

I realise that if my program adds a new column intno the database table (which is possible) that I would have to go into Crystal and add the new column into the report, but it should not happen very often and so I thought that my re-creating the tablke every month I would be OK.

However I now seem to be in a position where I can not get around the error message being displayed. Have I go about doing this sort of thing in completely the wrong manner?

Any help / advice would be greatly appreciated.
 
Hi,
This is an Oracle error not Crystal and is complex:
Here is a detailed explanation and ideas for correcting:
Code:
-----------------------------------------------------------
ORA-01466 

ORA-01466unable to read data -- object definition has changed 

Cause:This is a time-based read consistency error for a database object (such as a table or index). Either: 

·the query was parsed and executed with a snapshot older than the time the object was changed 

·the creation time-stamp of the object is greater than the current system time. This happens, for example, when the system time is set to a time earlier than the creation time of the object. 

Action:If the cause is: 

·an old snapshot, then commit or rollback the transaction and resume work. 

·a creation time-stamp in the future, then: 

·ensure the system time is correctly set 

·if the object creation time-stamp is still greater than the system time, then export the object's data, drop the object, re-create the object (so it has a new creation time-stamp), import the object's data, and resume work. 
----------------------------------------------------

There seems to be a problem with the underlying data, perhaps related to how you are re-creating the table.

hth,
[profile]
 
Great thanks for the information - it actually made me realise what I was a doing wrong. I was setting the system date to 1 month from say today and then running a report, which generated the table. I was then changing the date back to the correct date and trying to print a report and as you say, Oracle was complaining as the table def was a date in the future. That will teach me to test my software!!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top