Parsing Foreign Database

I know this is going to seem like it is coming out of left field, but I was at a C++ Meetup last night with Hyrum Wright from Google and was told there were people on the Clang Dev team that solved connecting to a PDB file before Microsoft released the specs and have a similar problem.

I am trying to read / write Faircom C-Tree Plus database files from 1998. Faircom no longer supports that version of C-Tree, and there are no ODBC drivers available. Kodak, the company that built software that relies on this database, has continued releasing current versions of their software that depends on the 1998 database format and offers no support in integration.

The database files themselves are binary files with fixed width columns. I know the row length and offsets, but there are some fields that need in place conversions for dates, integers and so on from Little Endian. Here is a sample view of the data for a zip code table.

I need to be able to read, and hopefully write as well to these tables. I have a C# application that queries 4 other database types (MySQL, SQL Anywhere, C-TreeACE, Pervasive) and as we try to expand we need to access this older database as well.

I was told that SQLite could potentially integrate with it using Virtual Tables, but I can’t really find any examples of where it is connecting to binary data rather than console output.

If anyone on this list could help me, I would very much appreciate it. I wouldn’t mind contracting it out, but would also love to learn myself how to do it so as we move forward I can continue to integrate additional databases using the binary data rather than always depending on a DB connection.


this is very much the wrong mailing list for questions like this - clang frontend development questions are discussed here

yes the PDB Format for debug information was partialy reverse engineered, etc. but
that makes your question still not valid for this list

better use: