I am looking for a database that can I run SQL statements on without having to have a database server installed. I.e. I need the ability to select/insert/update a database given only the database file and any external libraries.
Here is my situation:
- I am using C++ to parse through a number of oddly-formatted binary files, and I would like to store them into some type of database to offer more convenient access to the data.
- Once the files have been inserted into the database, I will use C# to write an interface/GUI by which a user can interact with the database.
- I'm using C++ for the speed of reading the files and because I've already written that part.
- I'm using C# because it is much easier to do GUI programming.
Here are my requirements:
- Database must provide a way to run commands in C++ using only external libraries (no installation)
- I should be able to move the database to any (similar [Windows]) computer and run my application
I believe this is possible with MS Access *.mdb files using ADO or JET or something like that, however, I would like to hear some alternatives. Please provide the database and the C++ engine/libraries in your answer.
My priorities are:
- "Lite"-ness
- Performance (speed of insert/select)
- Client code simplicity (i.e. how easy it is to set up)
Thank you all.