Embedded Database for .net that can run off a network

It sounds like ADO/Access is perfect for your needs. It's baked into the MS stack, well seasoned, and multi-user.

You can programatically create a DB like so:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

You can then use standard ADO.NET methods to interact with the database.


SQLite came to my mind while reading your question, and I'm quite sure that it's possible to access it from a network drive if you keep yourself to the constraint of 1 user at a time.

SQLite on .NET - Get up and running in 3 minutes


I'd recommend Advantage Database Server (www.advantagedatabase.com). It's a mature embedded DB with great support and accessible from many development languages in addition to .NET. The "local" version is free, runs within your application in the form of a DLL, requires no installation on the server/network share, and supports all major DB features. You can store the DB and/or application files all on the network; it doesn't care where the data is.

Disclaimer: I am an engineer in the ADS R&D group. I promise, it rocks :)