Многопользовательское приложение без необходимости устанавливать что-либо - встроенная база данных, которая позволяет выполнять одновременную запись пользователем?

Мне нужно создать приложение, которое

  • используется несколькими пользователями одновременно
  • не требует установки любой
  • имеет централизованное хранилище данных
  • данные должны храниться внутри.
  • я не имеют доступа к внутренним серверам баз данных или веб-серверам

Эти ограничения не являются моими собственными - они поступают от моего клиента - это филиал глобальной компании, и на глобальном уровне компании существуют некоторые ограничения в области ИТ-политики, что они могут не влияют на их уровень (что-то подобное), но они все еще нуждаются в программном обеспечении.

Мое намерение заключалось в том, чтобы найти КАК, чтобы предоставить им рабочую часть программного обеспечения, несмотря на эти ограничения.

Таким образом, единственный вариант (насколько мне известно) - хранить данные в сетевом ресурсе - в одном или нескольких файлах. Проблема заключалась в том, чтобы найти способ обеспечения одновременного доступа к записи для этих файлов.

ИССЛЕДОВАНИЕ пока

  • Сначала мне пришло в голову использование SQL Server Compact и размещение его в сетевом ресурсе

SQL Server Compact позволяет только одно соединение, если оно расположено на сетевом ресурсе

  • Затем я нашел SQLite - сделал некоторые исследования и выяснил, что он имеет некоторые улучшения по сравнению с SQL CE

Файл базы данных SQLite заблокирован при записи, но возможны параллельные операции чтения

  • Затем я нашел VistaDB, который, кажется, предлагает функциональность, которая мне нужна, но она очень дорогая - она ​​стоит 1295 $за разработчика...

Встроенная база данных VistaDB обеспечивает блокировку на уровне строк и таблиц!

Так уточненный вопрос

Какие встроенные базы данных поддерживают одновременный доступ к записи пользователей? (Есть ли альтернативы для VistaDB в этом отношении?) - пожалуйста, предоставьте факты, а не мнение.

Ответ 1

1) Единственная встроенная база данных, поддерживающая одновременное редактирование, - VistaDB (по крайней мере, мне не удалось найти какой-либо другой вариант)

Официальный сайт VistaDB → ознакомьтесь с разделом "Плюсы/минусы" ! - (..) Встроенные базы данных обычно блокируют всю базу данных для каждой вставки операции, мы этого не делаем. Мы обеспечиваем блокировку на уровне таблицы и строки.

Хорошо, что VistaDB - он сначала поддерживает код Entity Framework!

Относительно цены - есть скидка для micoISVs (450 $+ 125 $апгрейдов на один год)

2) Если вы знаете, что параллельная запись в базу данных будет очень редка, тогда вы можете выбрать SQLite, которая является свободной встроенной базой данных, потому что SQLite позволяет одновременное чтение, но только одно соединение при записи в базу данных. Не найдено ни одной информации о поддержке EF.

3) Если у вас будет только очень мало пользователей, то SQL Server Compact может быть лучшим вариантом - он поддерживает платформу Entity Framework.