i've got a desktop application that talks cleaning soap to some server. the communication is extremely slow so i wish to download many of the data in advance and query from the local database. i wan this local data to persist following the application shuts lower what exactly is the greatest method for carrying this out . . . what are the good items / good examples to get this done . . you will find about 25 tables that i'm caching.

SQLite is ideal for this. A few years back I authored a "wise client" application where I maintained a nearby cache to ensure that customers could still make use of the application offline. I made use of SQLite coupled with no problems, it's very small, continues rapidly, and many modern ORMs support it. (I had been using NHibernate)

http://www.sqlite.org/

Berkeley DB is a great, stand alone DB. Opt for ESENT, that is included in home windows. Here is a write-up by Ayende.

The H2 database may also suit your needs. Microsoft provides a compact edition of SQL Server: SQL Server Mobile Edition. If SQL Server and TSQL is the factor, this can be the ideal choice.

You can always make use of an Access DB, usually really quite simple to ingereate within .Internet application and does not require any server to become installed or set up around the client.

Think about using Firebird, In my opinion there is a ADO.Internet extension too.

I'd consider SQL Server Express as well as SQL Server Compact Edition, which works on individual database files, like Access does. Regardless of this, will still be SQL Server.

You might consider Apache Derby, which is often used in Sun's Glassfish Java EE server.