Какую встроенную базу данных с поддержкой изолированного хранилища вы можете порекомендовать?
-
01-07-2019 - |
Вопрос
Я ищу встроенный движок базы данных, поддерживающий изолирующее хранилище.В настоящее время я знаком с VistaDB.Что еще вы можете порекомендовать?
Требования довольно просты:
- развертывание xcopy
- поддержка изолированного хранилища
- желательно бесплатно
Обратите внимание, что вы не знаете точного пути к файлу при использовании IS.
Решение
VistaDB кажется , есть Поддержка для изолированного хранения.Я пользуюсь им уже почти год и очень доволен им во всем.
Это не бесплатно, но его цена начинается с $60USD для версии 4 (которая будет выпущена очень скоро).Есть бесплатный Экспресс - издание но это только для некоммерческих проектов.
Другие советы
Следуя дальше от Ллойдс ответ, существует библиотека-оболочка для sqlite, которая называется uSqlite это должно привести к тому, к чему вы стремитесь, либо напрямую, либо с минимальными изменениями.
Для уточнения (для последующего вопроса Aku) Я бы предложил изменить uSQLstPoll()
процедура (содержится в uSQLst.c).На этом этапе у вас есть информация о порту и адресе от подключающегося к вам клиента (содержится в sockaddr).На основе этой информации вы можете изменить uSQLst
структура, чтобы изменить имя файла локальной базы данных, к которой вы подключаетесь.
Отказ от ответственности:Обратите внимание, что это возможное решение, основанное на небольшом исследовании.Перед развертыванием рекомендуется провести более тщательное расследование.
Sqlite в значительной степени предназначен для встраивания и является бесплатным.
Он напрямую не поддерживает изолированное хранилище, однако, похоже, было бы довольно просто самостоятельно вызвать API изолированного хранилища и передать сгенерированное имя файла в Sqlite в качестве имени файла, которое он должен использовать.
Я знаю, что этот вопрос довольно старый, но VistaDB поддерживает изолированное хранилище и может быть развернут в XCopy.Однако у нас нет бесплатной версии, это коммерческий продукт.
Взгляните на пост SO на Преимущества VistaDB для получения дополнительной информации о других продуктах, которые мы поддерживаем.
Поддержка изолированного хранилища - это гораздо больше, чем просто незнание вашего имени файла.Вы должны работать с потоками, вы не должны требовать блокировки на уровне файлов, вы не можете создавать временные файлы по одному и тому же пути, вы должны понимать ограничения пользовательского интерфейса и пространства.
AFAIK VistaDB - единственная встроенная база данных sql, поддерживающая изолированное хранилище.
Вы могли бы сделать что-то подобное с помощью Встроенная Firebird.
Хотя изначально он не поддерживает изолированное хранилище, создать новую базу данных для каждого пользователя должно быть довольно просто.