Subject Re: C-ISAM files to firebird DB
Author dr_john_mp
2008/7/5 Maurizio <mauriz_po@...>:

> maybe it is not topic ,
> anyway i ask if anyone has experience on transfer data from
> C-ISAM data files ( .dat .idx ) , and if exists any tools or other
> for that .
>
> thanks
>
> Mauro
>
> ------------------------------------
>
Have had the same issue with some old databases.

In C-ISAM each table is held in a different .DAT file. The file
itself contains a number of records of a fixed length. The last byte
in each record is a delete flag. if the flag is zero the record has
been deleted. In most cases the flag will be 0x0A to indicate a valid
record, but it could be anything (and you could have 0x0A in the
middle of a record).

Index file formats are more complex, but if you are converting the
database to Firebird it will be easier to look at your application and
define new ones.

If you do not know the data structure the only option is to use (or
write) a program that will display the data in a grid. Then look for
text/patterns you can recognise to identify the record length. After
that, if you list the data one line per record its then up to you to
identify as many fields as possible from your knowledge of the
application/data.

Once you have that write a program to read in the data and wirte to
your new database. Its tedious, but if you don't know the data
structure not a lot else you can do.