Tried SQLite (w/.NET Porvider)... but it's not thread safe... write
operations lock the ENTIRE database *ack*... My app is heavily
multi-threaded, so that one didn't last long.
Tried SharpHSQL... but I think the .NET provider built into that is
still pretty flakey. When trying to use a Parameter to store binary
data, it errors out (even though that same process worked on the other
DBs I tried).
Tried Firebird (w/.NET Provider)... but it only supports a single
application connection. My app has two parts, win app and win
service... so that one's dead in the water.
I heard tell of a .NET provider for Berkeley DB, but I could never
track it down (btw, I'm not talking about the .NET provider for
Berkeley DB's XML version).
Everything else I've run across either costs too much (this is for a
Freeware app, after all), or has an ungodly large footprint (like the
40MB or whatever that I'd have to include just to use MSDE)... my app
is only 275KB... there's no way I'm packaging it with a database
backend that's over 100 times its size.
So does anyone here know of a relatively small embedded database I can
use that's thread-safe, supports multi-users, and has a .NET provider?