MySQL - ошибка Unable to find the requested .Net Framework Data Provider
Материал из 1GbWiki.
Версия 20:44, 19 сентября 2011 (править) Argar (Обсуждение | вклад) ← К предыдущему изменению |
Текущая версия (14:52, 1 ноября 2011) (править) (отменить) Dmach (Обсуждение | вклад) м (Правки Argar (обсуждение) откачены к версии Dmach) |
||
Строка 1: | Строка 1: | ||
=== Пример ошибки === | === Пример ошибки === | ||
- | Ошибка '''Unable to find the requested .Net Framework Data Provider. It may not be installed.''' может возникать в случае использования [http://dev.mysql.com/downloads/connector/net/ mySQL .NET Connector] при | + | Ошибка '''Unable to find the requested .Net Framework Data Provider. It may not be installed.''' может возникать в случае использования [http://dev.mysql.com/downloads/connector/net/ mySQL .NET Connector] при неверном его конфигурировании и размещении на сайте. Ниже описано что делать. |
[[Изображение:Fwdataprovider.png|пример ошибки]] | [[Изображение:Fwdataprovider.png|пример ошибки]] | ||
- | === | + | === Скопировать сборку на сервер === |
- | + | Сборка '''MySql.Data.dll''' должна быть скопирована в каталог '''bin''' вашего сайта. | |
- | + | === Прописать сборку === | |
- | + | В web.config, примерно так: | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<configuration> | <configuration> | ||
Строка 33: | Строка 17: | ||
<compilation> | <compilation> | ||
<assemblies> | <assemblies> | ||
- | + | <add assembly="MySql.Data, Version=6.3.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/> | |
- | <add assembly="MySql.Data, Version=6.3. | + | |
<assemblies> | <assemblies> | ||
<compilation> | <compilation> | ||
Строка 40: | Строка 23: | ||
<configuration> | <configuration> | ||
- | + | '''ВАЖНО!!!''' Значение атрибута assembly может отличаться в зависимости от версии спользуемой сборки. Пишите туда правильные данные. Если напишите фигню - получится фигня. | |
- | + | === Добавить строку подключения === | |
- | + | В web.config, примерно так: | |
- | < | + | <connectionStrings> |
- | + | <add | |
- | + | name="connName" | |
- | + | connectionString="server=XXX;User Id=YYY;database=ZZZ;password=***" | |
- | + | providerName="MySql.Data.MySqlClient"/> | |
- | </ | + | </connectionStrings> |
- | Добавить | + | === Добавить определение Data Provider === |
- | < | + | В web.config, примерно так: |
- | <add name=" | + | |
- | </ | + | <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> | ||
- | + | '''ВАЖНО!!!''' Значение атрибута '''invariant''' отсюда должно совпадать со значением атрибута '''providerName''' из строки подключения. Строчка с удалением '''invariant''' нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не было ошибок из-за дублирования провайдеров. | |
[[Категория:WEB-сервер IIS]] | [[Категория:WEB-сервер IIS]] |
Текущая версия
Содержание |
[править] Пример ошибки
Ошибка 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.MySqlClient"/> </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>
ВАЖНО!!! Значение атрибута invariant отсюда должно совпадать со значением атрибута providerName из строки подключения. Строчка с удалением invariant нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не было ошибок из-за дублирования провайдеров.