Какая локальная база данных соответствует моей ситуации?

StackOverflow https://stackoverflow.com/questions/482431

Вопрос

Я буду создавать набор приложений.Одно из этих приложений — автоматическое приложение (написанное на VB6), которое записывает данные, полученные из различных источников, в локальную базу данных.Все остальные приложения (будут написаны на VS 2008/C# 3.0) будут читать эти данные в основном для целей отчетности.

Мне не нужен SQL Server/MySql/Sybase или даже его экспресс-версии, потому что их распространение представляет собой проблему (например,требует отдельной установки и т. д.).Я ищу локальную базу данных, в которой есть драйверы как для VB6 (поэтому, вероятно, для OLEDB или ODBC, если мне придется согласиться на это), так и для ADO.NET.Также было бы неплохо, если бы база данных поддерживала ORM, например NHibernate, или хотя бы преобразователи 1-к-1, например Subsonic, но это не является препятствием.Но мое главное требование заключается в том, чтобы база данных была очень надежной, чтобы мне не приходилось тратить время на возню с ней, восстановление потерянных данных и т. д.

У меня есть опыт работы с MS Access, и у меня не так уж много хороших воспоминаний (и это не было плохо).Я слышал о SQLite, SQL Server Compact Edition, VistaDB и т. д.но у меня нет опыта работы с ними, и я не знаю никого, кто действительно им пользовался.

Что лучше всего соответствует моей ситуации?

Это было полезно?

Решение

SQLite может просто отвечать всем требованиям.Убедись, что ты проверьте все доступные обертки также.

Другие советы

Вы подумали о FireBird SQL?

Я бы рекомендовал SQLite, если только не используется база данных.У меня есть опыт его использования, и я был на том же месте, что и вы.Проект System.Data.Sqlite действительно хорош, он поддерживает ADO.net 2.0 и все его прелести.В настоящее время они также работают над полной поддержкой Linq в оболочке.Я рекомендую его по следующим причинам.

  1. Низкая занимаемая площадь — размер ядра составляет всего 700 КБ или меньше.
  2. Масштабируемость — он может обрабатывать довольно большие базы данных.Порядок ГБ.Для чего-то большего, вероятно, потребуется серверная база данных с МНОГО ОЗУ.
  3. Надежность — их пакет тестирования охватывает большую часть кода и доказал свою эффективность во многих коммерческих приложениях, таких как iPhone.
  4. Быстро. Этот движок требует очень небольших накладных расходов.
  5. Текущее состояние. Проект .NET очень актуален с учетом новейшей технологии .NET 3.5, которую разрабатывает Microsoft.
  6. Портативный — можно использовать во встроенных системах или на настольных компьютерах.

Проверьте проект System.Data.Sqlite здесь. http://sqlite.phxsoftware.com/

Проверьте сервер базы данных Advantage.Он имеет возможность бесшумной установки, занимает очень мало места и прост в обслуживании.Он имеет большую поддержку клиентов:ODBC, OLE DB, поставщик данных .net, jdbc, dbi, php и т. д.Бесплатный локальный движок (просто DLL, который работает вместе с вашим приложением), недорогой клиент/сервер, SQL и прямой доступ к навигационным таблицам.

Зона разработчиков

SQL Server Компактная версия находится в процессе, поэтому отдельно устанавливать ничего не нужно.

у меня нет большого опыта работы с SQLite либо, но я использовал его немного.Он используется в МНОГО ситуаций и приложений.На самом деле существуют сотни маленьких БД, но я бы рекомендовал SQLite, по крайней мере, в качестве отправной точки.

Я могу ручаться за VistaDB.Другая база данных, на которую вы, возможно, захотите взглянуть, — это Черная рыба

SQLite очень мало влияет и ОЧЕНЬ хорошо написан.Идеально подходит для локальной клиентской базы данных.

SQLite, как уже упоминали другие, с SQLite.net Поставщик ADO.net для облегчения доступа к нему через .NET.

Я использовал ScimoreDB и написал приложение для log4net для своего приложения.Получили неоднозначные результаты и потратили много времени, пытаясь разобраться с документацией, чтобы все работало в соответствии с потребностями.

Я перехожу к SqlLite, и появилась ссылка на использование SubSonic с SqlLite.

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

Посмотрите настройку ASP.Net по умолчанию с поставщиком членства.Он создаст локальную файловую базу данных для веб-сайта.

Используя этот подход, вы можете быть в порядке, поскольку при разработке вы можете использовать все свои знакомые инструменты.

РЕДАКТИРОВАТЬ:
Я только что заметил встроенный тег.Если вы хотите запустить приложение на устройствах Windows CE, вы можете выбрать SQL-сервер компактный.Он не поддерживает хранимые процедуры AFAIK, но поддерживает большинство других функций SQL Server.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top