Встроенная база данных для C# с поддержкой нескольких соединений

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

Медлительность не является проблемой, но не нужно устанавливать программное обеспечение базы данных. Подходит ли Microsoft SQL Server Compact для таких целей?

3 ответа

Решение

Я нашел эту страницу в msdn, которая предполагает, что версия 3.5 и выше MS SQL Server Compact должна быть в порядке в этом сценарии.

Для поддержки нескольких приложений, которые одновременно обращаются к одной и той же базе данных, SQL Server Compact 3.5 обеспечивает многопользовательскую поддержку. Многопользовательская поддержка позволяет нескольким пользователям базы данных синхронизировать данные без необходимости отключать базу данных перед использованием репликации слиянием или удаленного доступа к данным (RDA). Для получения дополнительной информации о многопользовательской синхронизации см. Многопользовательский доступ и RDA и Многопользовательский доступ и синхронизация.

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

Вы пробовали VistaDB? Я считаю, что это должно соответствовать вашим требованиям.

SQLIte для.NET должен работать для вас!

SQLite - это небольшая библиотека C, которая реализует автономный, встраиваемый механизм базы данных SQL с нулевой конфигурацией. Особенности включают в себя:

  • Транзакции являются атомарными, согласованными, изолированными и долговечными (ACID) даже после сбоев системы и сбоев питания. Нулевая конфигурация - настройка и администрирование не требуются.
  • Реализует большую часть SQL92. (Функции не поддерживаются)
  • Полная база данных хранится в одном файле на диске.
  • Файлы базы данных могут быть свободно распределены между машинами с различными порядками байтов.
  • Поддерживает базы данных размером до 2 терабайт (241 байт).
  • Размеры строк и BLOB ограничены только доступной памятью.
  • Небольшой объем кода: менее 30 Кб строк кода C, менее 250 Кбайт кода (gcc на i486)
  • Быстрее, чем популярные ядра клиент-серверных баз данных для наиболее распространенных операций.
  • Простой, удобный API.
  • Привязки TCL включены. Привязки для многих других языков доступны отдельно.
  • Хорошо прокомментированный исходный код с охватом тестирования более 95%.
  • Автономный: без внешних зависимостей.
  • Источники в открытом доступе. Используйте для любых целей.
Другие вопросы по тегам