Как подключиться к mysql с помощью соединителя mysql через C # без фактической установки соединителя

У нас есть продукт C # на основе dot net 2.0, который использует Mysql в качестве данных место хранения. Когда мы устанавливаем соединитель mysql 6.3.6 на машину XP / Win 7, мы можем без проблем подключаться к базе данных из кода C #. Но мы сталкиваемся с проблемой при подключении к базе данных mysql, когда соединитель mysql фактически не установлен на машине, а просто находится в том же каталоге, что и исполняемый файл. Мы не хотим устанавливать коннектор на каждую машину, на которой мы хотим, чтобы продукт работал. Мы хотим, чтобы подключаемая dll использовалась напрямую, так как мы используем в нашем коде любую стороннюю dll (например, регистратор).

Даже когда мы копируем mysql.data.dll в тот же каталог, где установлен exe, он строит, но не подключается к базе данных.

Выдается ошибка

Невозможно найти запрошенный поставщик данных .Net Framework. Может не быть установлен Blockquote

Техническая информация:

  • Mysql 5.0
  • C #
  • Dot Net framework 2.0
  • Mysql Connector 6.3.6 (такая же проблема возникает с версией 6.0.3 соединителя sql)
  • Win XP / Win 7

Когда мы используем ASP.Net, мы можем указать тег, указанный ниже, в web.config, и мы можем подключиться к базе данных mysql напрямую, поместив dll в каталог bin


<system.data>
  <DbProviderFactories>
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.0.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
  </DbProviderFactories>
</system.data>

Почему мы не можем сделайте то же самое в C # для приложения клиент-сервер в среде рабочего стола.

8
задан Bill the Lizard 18 April 2018 в 17:04
поделиться