Встроенная база данных для приложения 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, вам придется внести некоторые изменения, чтобы он прошел проверку магазина приложений.