Встроенная база данных для приложения Windows 8

Есть ли какая-либо встраиваемая база данных для разработки приложений для Windows 8?

Я искал что-то вроде Sqlite или чего-то подобного, которое интегрировалось бы с Visual Studio 11.

2 ответа

Решение

Для JavaScript вам, вероятно, лучше всего использовать HTML5 IndexedDB. К сожалению, это не доступно напрямую для других языков.

Существует второй вариант: Windows имеет встроенную встроенную базу данных в форме Extensible Storage Engine. Это относительно простая БД ISAM (без SQL, вам нужно напрямую запрашивать индексы). Это белый список API для приложений Metro. Использовать его из C++ просто - просто #include <esent.h> и идти вперед. Для C# вам нужно использовать P/Invoke. Для JavaScript вам нужно написать оболочку для ESE API с использованием C++/CX.

Еще один вариант - взять SQLite и заставить его скомпилировать (и пройти проверку сертификации приложений на наличие заблокированных API) для WinRT. Вам нужно будет внести некоторые изменения в код, чтобы заставить его работать, но их не так много.

Может пригодиться помощник по хранению общих объектов для баз данных WinRT и WinRTFile.


Также, как подразумевал @Pavel Minaev, Тим Хойер подтвердил:

... Обратите внимание, что, несмотря на то, что проект SQLWinRT в codeplex является отличным средством, он является оболочкой для связи с классическим механизмом SQLite..., который использует API, которые в настоящее время не проходят проверку хранилища.

Поэтому, если вы хотите пойти по пути SQLite, вам придется внести некоторые изменения, чтобы он прошел проверку магазина приложений.

Другие вопросы по тегам