Hi I'm developing desktop portable free application and I`m searching for portable database:

  • free
  • without install
  • as much as 20K records
  • stand alone application
  • supports file encryption (optional)
  • SQL92 spec

thank you for advice

are you able to write some advantages and disadvangtages?

SQLite:

self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is easily the most broadly used SQL database engine in the planet. The origin code for SQLite is incorporated in the public domain.

Firebird embedded

About:

Firebird is definitely an free relational database offering many ANSI SQL-99 features that operates on Linux, Home windows, and a number of Unix platforms. Firebird offers excellent concurrency, high end, effective language support for saved methods and triggers.

Unsure it meets no install requirement but when you'll need a lot more than SQLite check Apache Derby.

If you are employed in Java, HSQLSB may well be a good fit. Otherwise, SQLite.

Tokyo, japan Cabinet will be a good candidate, except it is not relational (so no SQL).
Given you do not have a lot of records, perhaps a full relational database is overkill to your requirements. Or otherwise, it is dependent in your application, obviously.

Interesting article on DBMS-es from Wikipedia: Comparison of relational database management systems.

Edit: Ooops, apparently I meant SQL Compact, not express

Based on your condition, you might consider Ms Access.

You are able to connect with Access database through Jet engine which is a component of Home windows XP and more recent.

Since v2002 it's SQL 92 compliant (as Microsoft claims).