2008-09-20 2 views
3

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

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

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

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

ответ

1

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

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

0

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

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

+0

Весь смысл IS заключается в том, что вы не знаете фактического пути к файлу – aku 2008-09-20 15:42:21

+0

@Lloyd: понятия не имею, почему вас проголосовали, когда вы можете ввести имя файла в sqlite. Проголосовал за резервное копирование. – user7116 2008-09-20 15:44:11

+0

sixlettervariables, Q четко заявляет «DB с поддержкой изолированного хранилища». Если вы можете доказать мне, что можно использовать SQLLite с изолированным хранилищем, я извинюсь и голосую, или даже решите принять этот ответ. – aku 2008-09-20 15:55:59

-1

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

1

После ответа от Lloyd's ответьте, есть библиотека-обертка для sqlite под названием uSqlite, которая должна достичь того, что вы после, либо напрямую, либо с минимальными изменениями.


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

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

0

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

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

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

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

Смежные вопросы