Какая локальная база данных соответствует моей ситуации?
-
20-08-2019 - |
Вопрос
Я буду создавать набор приложений.Одно из этих приложений — автоматическое приложение (написанное на 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 в оболочке.Я рекомендую его по следующим причинам.
- Низкая занимаемая площадь — размер ядра составляет всего 700 КБ или меньше.
- Масштабируемость — он может обрабатывать довольно большие базы данных.Порядок ГБ.Для чего-то большего, вероятно, потребуется серверная база данных с МНОГО ОЗУ.
- Надежность — их пакет тестирования охватывает большую часть кода и доказал свою эффективность во многих коммерческих приложениях, таких как iPhone.
- Быстро. Этот движок требует очень небольших накладных расходов.
- Текущее состояние. Проект .NET очень актуален с учетом новейшей технологии .NET 3.5, которую разрабатывает Microsoft.
- Портативный — можно использовать во встроенных системах или на настольных компьютерах.
Проверьте проект System.Data.Sqlite здесь. http://sqlite.phxsoftware.com/
Проверьте сервер базы данных Advantage.Он имеет возможность бесшумной установки, занимает очень мало места и прост в обслуживании.Он имеет большую поддержку клиентов:ODBC, OLE DB, поставщик данных .net, jdbc, dbi, php и т. д.Бесплатный локальный движок (просто DLL, который работает вместе с вашим приложением), недорогой клиент/сервер, SQL и прямой доступ к навигационным таблицам.
SQL Server Компактная версия находится в процессе, поэтому отдельно устанавливать ничего не нужно.
Я могу ручаться за 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.