I was (and still am) looking for an embedded database to be used in a .net (c#) application. The caveat: The Application (or at least the database) is stored on a Network dr
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.
Check out VistaDB. They have a very good product, the server version (3.4) is in Beta and is very close to release.
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 :)
A little late to the post here.. And VistaDB is already mentioned, but I wanted to point out that VistaDB is 100% managed (since your post was tagged .net). It can run from a shared network drive, and is 1MB xcopy deployed.
Since you mention SQL CE, we also support T-SQL Syntax and datatypes (in fact more than SQL CE) and have updateable views, TSQL Procs and other things missing in SQL CE.
There's also Valentina. I cam e across this product when I was working on some Real Basic project. The RB version is very good.
Have you considered an OODB? From the various open sources alternatives I recommend db4o (sorry for the self promotion :)) which can run either embedded or in client/server mode.
Best
Adriano