Должны ли поставщики данных ADO.NET быть встроены в приложение? - PullRequest
0 голосов
/ 24 сентября 2018

Мое приложение Windows может подключаться к различным РСУБД через поставщиков данных ADO.NET, установленных отдельно.Это один из рекомендуемых подходов с определенными провайдерами, обнаруженными во время выполнения через machine.config.

Однако просить моих клиентов о дополнительных настройках - не лучший способ сделать это.В последнее время я видел много Java-приложений, встраивающих в себя большинство драйверов JDBC.И последняя версия Npgsql (для Postgres) больше не устанавливает драйвер в machine.config по умолчанию.

Каковы все плюсы и минусы встроенных и общих поставщиков данных ADO.NET, когда выраспространять приложение?

Вот мой список (я постараюсь дополнить его вашими отзывами) с плюсами и минусами встраивания провайдеров, как ранних ссылок, в приложение:

Плюсы:

  • Клиентам больше не нужно устанавливать драйверы отдельно.
  • Нет необходимости устанавливать его в machine.config, длякоторый клиент может иметь недостаточно привилегий.
  • Лучше для разработчиков, так как они могут использовать определенные расширенные функции для некоторых драйверов и определенные классы ADO.NET.

Минусы:

  • Большой дистрибутив.
  • Некоторые драйверы могут тормозить все приложение, если они внутренне привязываются к СУБД, не установленной на компьютере клиента.
  • Вынуждают клиента использовать только одну версию и один тип поставщика данных для каждой СУБД.
  • Могут возникнуть проблемы с лицензией даже для бесплатного поставщика данных.
  • 32-разрядные поставщики данных могут не работать с приложениями x64, а поставщики x64 с приложениями x32.
...