MySQL - ошибка Unable to find the requested .Net Framework Data Provider
Материал из 1GbWiki.
Версия 23:18, 4 декабря 2010 (править) Dmach (Обсуждение | вклад) м ← К предыдущему изменению |
Версия 07:27, 16 мая 2011 (править) (отменить) Dmach (Обсуждение | вклад) м К следующему изменению → |
||
Строка 42: | Строка 42: | ||
<system.data> | <system.data> | ||
<DbProviderFactories> | <DbProviderFactories> | ||
+ | <remove invariant="MySql.Data.MySqlClient" /> | ||
<add | <add | ||
name="MySQL Data Provider" | name="MySQL Data Provider" | ||
Строка 50: | Строка 51: | ||
</system.data> | </system.data> | ||
- | '''ВАЖНО!!!''' Значение атрибута '''name''' отсюда должно совпадать со значением атрибута '''providerName''' из строки подключения. | + | '''ВАЖНО!!!''' Значение атрибута '''name''' отсюда должно совпадать со значением атрибута '''providerName''' из строки подключения. Строчка с удалением '''invariant''' нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не бло ошибок из за дублирования провайдеров. |
[[Категория:WEB-сервер IIS]] | [[Категория:WEB-сервер IIS]] |
Версия 07:27, 16 мая 2011
Содержание |
Пример ошибки
Ошибка Unable to find the requested .Net Framework Data Provider. It may not be installed. может возникать в случае использования mySQL .NET Connector при неверном его конфигурировании и размещении на сайте. Ниже описано что делать.
Скопировать сборку на сервер
Сборка MySql.Data.dll должна быть скопирована в каталог bin вашего сайта.
Прописать сборку
В web.config, примерно так:
<configuration> <system.web> <compilation> <assemblies> <add assembly="MySql.Data, Version=6.3.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/> <assemblies> <compilation> <system.web> <configuration>
ВАЖНО!!! Значение атрибута assembly может отличаться в зависимости от версии спользуемой сборки. Пишите туда правильные данные. Если напишите фигню - получится фигня.
Добавить строку подключения
В web.config, примерно так:
<connectionStrings> <add name="connName" connectionString="server=XXX;User Id=YYY;database=ZZZ;password=***" providerName="MySQL Data Provider"/> </connectionStrings>
Добавить определение Data Provider
В web.config, примерно так:
<system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient" /> <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" /> </DbProviderFactories> </system.data>
ВАЖНО!!! Значение атрибута name отсюда должно совпадать со значением атрибута providerName из строки подключения. Строчка с удалением invariant нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не бло ошибок из за дублирования провайдеров.