ISAM error bad isam file format
Posted in 1996
From sydney.DIALix.oz.au!not-for-mail Mon Sep 23 14:15:33 1996
Path: sydney.DIALix.oz.au!not-for-mail
From: chandos@sydney.DIALix.oz.au (Peter Strempel)
Newsgroups: comp.databases.informix
Subject: ISAM error bad isam file format
Date: 23 Sep 1996 14:13:12 +1000
Organization: DIALix Services, Sydney, Australia.
Lines: 55
Sender: chandos@sydney.DIALix.oz.au
Message-ID: <5252oo$f51$1@sydney.DIALix.oz.au>
NNTP-Posting-Host: chandos@sydney.dialix.oz.au
We have written a small program to archive and then delete rows from two
tables in a fairly large DB. One table is a header type table with its
associated detail rows in a detail type table. A brief outline of the
program follows.
When the program is run it falls over after varying numbers of rows with
the following error:
SQL statement error number -240
Could not delete a row
SYSTEM error number -105
ISAM error: bad isam file format.
After running tbcheck and various tests on the DB it appears that there
is no corruption of the data or indexes.
Environment details:
Informix online 5.00.UC3
Informix 4gl 4.10.UD1
Sunos 4.1.3_U1
Program outline:
declare cursor with hold for
select * from header_table where date < archive_datefor update
foreach
declare cursor with hold for
select * from detail_table
where detail_table.col1 = header_table.col1
and detail_table.col2 = header_table.col2
for update
foreach
insert the record into an archive table
delete the record from the detail_table
where col1 = program record col1
and col2 = program record col2
and col3 = program record col3
end foreach
delete from header_table
where col1 = program variable col1
and col2 = program variable col2
end foreach
Not included in this outline is some code to commit every 1000 records.
Any help would be appreciated.
Peter Strempel
chandos@sydney.dialix.oz.au
Economic and Energy Analysis
Sydney, NSW