Какую встроенную базу данных с поддержкой изолированного хранилища вы можете порекомендовать? - PullRequest
3 голосов
/ 20 сентября 2008

Я ищу встроенную базу данных, поддерживающую изолирующее хранилище . В настоящее время я знаю о VistaDB. Что еще можно порекомендовать?

Требования довольно просты:

  • развертывание xcopy
  • поддержка изолированного хранилища
  • желательно бесплатно

Обратите внимание, что вы не знаете точный путь к файлу при использовании IS.

Ответы [ 5 ]

1 голос
/ 20 сентября 2009

VistaDB , кажется, имеет поддержку для изолированного хранилища. Я пользуюсь им уже почти год и очень доволен всем этим.

Это не бесплатно, но его цена начинается с $ 60USD для версии 4 (очень скоро будет выпущена). Существует бесплатная Express Edition , но это только для некоммерческих проектов.

1 голос
/ 30 сентября 2008

Исходя из ответа Ллойда , есть библиотека-обертка для sqlite с именем uSqlite , которая должна достичь того, что вы ищете, либо напрямую, либо с минимальными изменениями.


Для уточнения (для вопроса Аку), я бы предложил изменить подпрограмму uSQLstPoll() (содержится в uSQLst.c). На этом этапе у вас есть информация о порте и адресе от подключенного к вам клиента (содержится в sockaddr). На основе этой информации вы можете изменить структуру uSQLst, чтобы изменить имя файла локальной базы данных, к которой вы подключаетесь.

Отказ от ответственности: обратите внимание, что это возможное решение, основанное на небольшом расследовании. Перед развертыванием предлагается более тщательное расследование.

0 голосов
/ 20 октября 2009

Я знаю, что этот вопрос довольно старый, но VistaDB ДОЛЖЕН поддерживать изолированное хранилище и может быть развернут XCopy. Хотя у нас нет бесплатной версии, это коммерческий продукт.

Посмотрите сообщение SO на Преимущества VistaDB для получения дополнительной информации о других вещах, которые мы поддерживаем.

Поддержка изолированного хранилища - это гораздо больше, чем просто отсутствие знания вашего имени файла. Вы должны работать с потоками, вам НЕ требуется блокировка на уровне файлов, вы не можете создавать временные файлы по тому же пути, вы должны понимать ограничения UAC и пространства.

AFAIK VistaDB - единственная встроенная база данных sql, поддерживающая изолированное хранилище.

0 голосов
/ 20 сентября 2008

Вы можете сделать что-то подобное с Firebird Embedded .
Хотя он изначально не поддерживает изолированное хранилище, создать новую базу данных для каждого пользователя будет довольно легко.

0 голосов
/ 20 сентября 2008

Sqlite предназначен для встраивания и является бесплатным.

Он не поддерживает напрямую изолированное хранилище, однако, похоже, было бы довольно просто самостоятельно вызвать API изолированного хранилища и передать сгенерированное имя файла в Sqlite в качестве имени файла, которое он должен использовать.

...