Какая локальная база данных соответствует моей ситуации? - PullRequest
3 голосов
/ 27 января 2009

Я буду создавать набор приложений. Одно из этих приложений - это автоматическое приложение (написанное на 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 и т. Д., Но у меня нет опыта работы с ними, и я не знаю никого, кто бы его использовал.

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

Ответы [ 11 ]

9 голосов
/ 27 января 2009

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

8 голосов
/ 27 января 2009

Задумывались ли вы о FireBird SQL ?

3 голосов
/ 28 января 2009

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

DevZone

3 голосов
/ 27 января 2009

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

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

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

2 голосов
/ 19 марта 2009

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

1 голос
/ 27 января 2009

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

Я двигаюсь в сторону SqlLite, и вокруг меня всплыла ссылка об использовании SubSonic с SqlLite.

1 голос
/ 27 января 2009

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

1 голос
/ 27 января 2009

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

1 голос
/ 27 января 2009

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

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

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

EDIT:
Я только заметил встроенный тег. Если вы хотите запустить приложение на устройствах Windows CE, вы можете выбрать SQL Server Compact . Он не поддерживает хранимые процедуры AFAIK, но поддерживает большинство других функций SQL Server.

1 голос
/ 27 января 2009

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

...