Kbase 20387: Use -cpinternal with PROUTIL - SE (8557)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  09/12/2005 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Database is Unicode UTF-8
idxbuild on the above database causes the following error:
Use "-cpinternal UTF-8" with <db-utility> only with a UTF-8 database. (8557)
CAUSE:
The only way to reactivate an index is with the index rebuild utility. In this particular case however, the proper code page did not get loaded into the loaded database and as a result, the rebuild generated the (8557). The same error also occurs during an attempt to do an idxfix.
FIX:
When checking or building indexes on a UTF-8 database, -cpinternal must be set to UTF-8. If the database is not UTF-8, do not use -cpinternal UTF-8.
In some cases, an attempt to do an index rebuild will with a Progress (8557) error. In this particular case, a table had been created whose primary index was made up of two fields. An attempt to dump and load the database failed because the index in question had been inactivated.
It became necessary to inactivate the index in order to allow the .d file to load into the new database structure. During the load, it was discovered that the table that contained the composite primary index either had corrupted data or no data loaded. An attempt to remove the table using Data Dictionary failed because of the inactive index. In response, an index rebuild was attempted to reactivate the index. It failed with the (8557) error.
The only way to get the index rebuilt was to use the following command syntax:
proutil dbname -C idxbuild -cpinternal UTF-8<enter>
Once the -cpinternal was added to the PROUTIL command, the index rebuild completed.