Hallo, the following error message ame up at customer's installation: Error -189: Unable to find in index 'PDataEntry_750BG' for table 'PDataEntry_750BG' (WI005) call CreateDataEntryFromPGM
SQL anywhere documentation says: This is an internal error. If it can be reproduced, it should be reported to Sybase. You should be able to work around the error by dropping and recreating the index.
Weird is, that the error message doesn't report an index name and a table name but twice the table name
We dropped the (only) index on the concerned table abd re created it, but this didn't help. The error is permanently reproduceable
The database structure is used by hundreds of customers, so there is no general problem
We run a DB check without results.
The system is Sybase 7
asked 12 Mar '15, 07:12
The index whose name matches the name of the table is the primary key. You would need to drop and recreate the primary key. Of course, you may also have foreign keys to that which would be problematic. If unload/reload is an option, you could consider that too.
answered 12 Mar '15, 07:39
This seems to be an automatically created index, probably for the primary key of that table.
AFAIK, in older versions these automatically created indexes (for primary keys and unique constraints) are not listed in sys.sysindex. They cannot be dropped via DROP INDEX. However, they will be shown in DBISQL in the "Stats" pane when you access a row via its PK value and an index retrieval is done.
To drop and re-create such an automatically created index, you have to drop and re-create the PK constraint, i.e. something like (here for the sample database's table "product"):
answered 12 Mar '15, 07:41
Take a backup of your database before making any irreversible changes.
answered 12 Mar '15, 09:38