2012-04-24 4 views
0

В моем опыте программирования приложений я всегда работал с базой данных SQL Server (или Access) на задней панели, которая хранит данные приложения. Теперь я рассматриваю некоторые бизнес-требования, которые работают с данными, которые хорошо вписываются в реляционную базу данных, но они требуют, чтобы они хранились в одном, переносном, настраиваемом файле, который приложение создаст и загрузится. Я знаю, что это очень распространенная концепция для приложения, чтобы сэкономить один файл или документ, который он может загрузить и продолжать работать, но я не уверен, как достичь этого с помощью сложных данных. Шифрование xml приходит на ум, но было бы очень медленно работать или потенциально сжигать много памяти, если бы мне пришлось сначала загрузить все обратно в объекты. Какие существуют варианты?Хранить реляционные данные в одном проприетарном файле

+2

Что относительно SQLite? его единственная файловая система RDBMS – Habib

+0

Не подходит ли SQL Server Compact Edition для вас? – spender

+0

Зачем вам шифровать xml? –

ответ

2

При работе в среде .NET я считаю, что стоит обратить внимание на SQL Server Compact. Это в основном мини-SQL Server, который не нужно устанавливать и настраивать как службу, а вместо этого является dll, с которой вы ссылаетесь. Вы можете использовать обычные инструменты доступа к данным, такие как linq-to-sql и сущность.

+0

+1 избили меня, и он уже знаком с семейством MSSQL. –

+0

@Anders Abel - Похоже, что это сработает, если только одно из следующих не соответствует действительности. 1. Файл .sdf может быть создан во время выполнения. 2. .sdf может использовать пользовательское расширение файла. 3. .sdf может использовать пароль, чтобы кто-то, у кого есть файл, не открывал его и не получал доступ к данным. Я прочитал, что все это правда, пожалуйста, дайте мне знать, если это неверно. – xr280xr

4

Я рекомендую вам использовать встроенную базу данных SQLLite или Firebird. Есть и другие варианты. Они поддерживают использование одного файла и дадут вам четкий путь обновления для будущих версий вашей схемы (обновления SQL-скриптов).

Я не понял, как шифрование играет в это.

+0

Верьте, что это также действительный ответ, но я предпочитаю подход MS в этом случае. +1 Спасибо. – xr280xr

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