Нужно ли запускать сервер для достижения функциональности, похожей на базу данных? - PullRequest
3 голосов
/ 26 марта 2011

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

Я знаю, что мог бы настроить SQL-сервер и иметь интерфейс программы с этим, но если я хочу поделиться своей программой с другими людьми, я не могу гарантировать, что у них будет доступ к серверу или возможность настроить собственный сервер для хранения данных.

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

Можно ли как-нибудь спроектировать программу таким образом, чтобы она поддерживала структуру, похожую на базу данных, и при этом не зависела от внешних программ (таких как сервер SQL)?

Ответы [ 6 ]

2 голосов
/ 26 марта 2011

"SQLite - это программная библиотека, в которой реализован автономный серверный транзакционный механизм баз данных SQL с нулевой конфигурацией."

http://www.sqlite.org/

1 голос
/ 26 марта 2011

У вас есть несколько вариантов:

  1. Использовать базу данных с плоскими файлами, например SQLite ( поставщик ADO.NET )
  2. Сохраните ваши данные в файл в каком-либо формате, например XML или CSV, или используйте двоичную сериализацию (или что-то более сложное, если вы не хотите хранить все данные в памяти)
  3. Иметь общедоступный сервер SQL, доступный из Интернета
1 голос
/ 26 марта 2011

Вы можете использовать базу данных плоских файлов, такую ​​как SQLite, которая связана при компиляции и может распространяться вместе с вашим кодом.

1 голос
/ 26 марта 2011

Конечно. Вы можете использовать XML. XML также может использоваться как источник данных для компонентов ASP.NET, как база данных.

0 голосов
/ 26 марта 2011

нет у вас нет сервера.наиболее гибким решением было бы использование NHibernate с FluentNHibernate .

Существуют разные драйверы для разных баз данных, таких как SQlite, MsAccess, а также для таких серверов, как MsSql, Oracle, ....

0 голосов
/ 26 марта 2011

Конечно, это всегда SQL Server express от MS для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...