[cfe-dev] Parsing Foreign Database

Alan Halls via cfe-dev cfe-dev at lists.llvm.org
Thu Oct 18 14:26:35 PDT 2018


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.

https://www.youtube.com/watch?v=3-1CukxNWQY



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.



Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181018/a755bfbd/attachment.html>


More information about the cfe-dev mailing list