I need to create an application, that
- is used by multiple users concurrently
- does not require any installation
- has a centralized data storage
- data must be stored inside company's network
- i don't have access to company's internal database servers or webservers
These restrictions are not of my own - these are coming from my customer - this is a branch of a global company and there are some big IT policy restrictions on a global company level, that they can not impact on their level (something like that), but they still need a software.
My intent was to find HOW to provide them with a working piece of software despite those restrictions.
So the only option (to my understanding) is to store data on a network share - in one or more files. The problem was to find a way how to provide a concurrent write access to those files.
RESEARCH so far
- First what came to my mind was using SQL Server Compact and place it on a network share
SQL Server Compact allows only one connection when located on a network share
- Then I found SQLite - did some research and found out that it has some improvements over SQL CE
SQLite database file locked when writing, but possible concurrent reading operations
- Then I found VistaDB, which seems to offer the functionality that I need but it is very expensive - it costs 1295$ per developer...
VistaDB embedded database provides row and table level locking!
So refined question is
Which embedded databases support concurrent user write access? (Is there alternatives for VistaDB in this respect?) - please, provide facts, not opinion.