У нас есть продукт 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
Техническая информация:
Когда мы используем 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 # для приложения клиент-сервер в среде рабочего стола.