Мне нужно создать приложение, которое
- используется несколькими пользователями одновременно
- не требует установки любой
- имеет централизованное хранилище данных
- данные должны храниться внутри.
- я не имеют доступа к внутренним серверам баз данных или веб-серверам
Эти ограничения не являются моими собственными - они поступают от моего клиента - это филиал глобальной компании, и на глобальном уровне компании существуют некоторые ограничения в области ИТ-политики, что они могут не влияют на их уровень (что-то подобное), но они все еще нуждаются в программном обеспечении.
Мое намерение заключалось в том, чтобы найти КАК, чтобы предоставить им рабочую часть программного обеспечения, несмотря на эти ограничения.
Таким образом, единственный вариант (насколько мне известно) - хранить данные в сетевом ресурсе - в одном или нескольких файлах. Проблема заключалась в том, чтобы найти способ обеспечения одновременного доступа к записи для этих файлов.
ИССЛЕДОВАНИЕ пока
- Сначала мне пришло в голову использование SQL Server Compact и размещение его в сетевом ресурсе
SQL Server Compact позволяет только одно соединение, если оно расположено на сетевом ресурсе
- Затем я нашел SQLite - сделал некоторые исследования и выяснил, что он имеет некоторые улучшения по сравнению с SQL CE
Файл базы данных SQLite заблокирован при записи, но возможны параллельные операции чтения
- Затем я нашел VistaDB, который, кажется, предлагает функциональность, которая мне нужна, но она очень дорогая - она стоит 1295 $за разработчика...
Встроенная база данных VistaDB обеспечивает блокировку на уровне строк и таблиц!
Так уточненный вопрос
Какие встроенные базы данных поддерживают одновременный доступ к записи пользователей? (Есть ли альтернативы для VistaDB в этом отношении?) - пожалуйста, предоставьте факты, а не мнение.