Re: Old Informix-4GL, vintage 1988
Posted in 1996
Tomas,
you are close. I had a similar problem a day ago. Try this:
1. write down a .idx and .dat file names for table (they are the same)
2. create a table with output from dbschema for that table, but add
any letter or number just to make a difference. It may or may not show
in file name if .idx and .dat files, depending on table name length,
but the 3 numbers after the name woud be different then the ones from
point 1.
3. create same indexes on new table (of course with different names)
that existed on defective table.
4. rename defective .idx file to .BAK and then rename .idx file from
new empty table to name of defective .idx file.
5. now use bcheck first without "-i" and if it return errors after 2-3
passes, add that "-i". Sometimes bcheck succsedes after multiple
passes. If you get no errors after this, say "AAAAAAaaaaaaaaa".
If you do, sory for waisting your time. Use backup and rollforward
(if you have log)
6.Unload table data. drop table(s). Create table. Load table. Create
index. The end .
Andrej.
"M.T. Carrasco Benitez" <carrasco@innet.lu> wrote:
>+ Problem description
>Some indexes are mixed-up. When try to used it gives the error:
> -245 : Could not position within a file via an index.
> -103 : C-ISAM error: illegal key descriptor (too many parts or too long)
>The bcheck program cannot re-paire them; I tried all the parameters.
>I cannot "drop" the bad indexes; it give the following error:
> -216 : Cannot remove ISAM index on file
> -103 : C-ISAM error: illegal key descriptor (too many parts or too long)
>I do not have the C-ISAM libraries and I do not know the structure of the
>"idx" files and I cannot manipulate them.
>+ Some line of reasoning
>Any undocumented feature in the supplied "becheck" program ?
>Looking for a new better "bcheck" program.
>Creating "empty" "idx" files for the tables and "create" index after and
>manipulating directly the "systables" and "sysindexes".
>Downloading all the data to ASCII files, removing the database and uploading
>the data. The code output by "dbschema" will have to be massage as it does
>not compiles.
>+ References
>AT&T 3B2-500
>Informix-4GL Rapid Development System Version 1.10.03D/2.10.03D (1987-1988)
>Regards
>Tomas