Thanks for posting Jason. Ii just wanted to comment on how our VistaDB Server works so you gauge things better. VistaDB supports both embedded mode (via an unmanaged flat .DLL) and we create a VistaDB Server that is actually an application that is built using our VistaDB embedded engine (this is an .EXE). The VistaDB Server can run as a Windows service or as a console app -- both console app and service listen on a port and provide high-speed TCP/IP connectivity to your .VDB databases.
You have total control over how the VistaDB embedded engine works. You can open the .VDB database in shared mode or exclusively, or in read-only mode which is needed for CD-ROM apps. The thing to note is that the VistaDB Server opens the .VDB exclusively and efficiently manages each connection and request to hit the data (updates and reads). The key to achieving speed is to open the .VDB exclusively -- that's why we do that. We had older technology that would open the database in shared mode and would launch each connection in a thread but the performance wasn't there. So, thats the story. Your idea to allow shared access to the file from the server is interesting. I mean, keeping our same architecture and not resorting to threads again. Let me ask my guys and see what they think. If it can be done easily, we'll try to get it into 3.0 due out the middle of 2006.
Thanks again for your support.