MySQL - ошибка Unable to find the requested .Net Framework Data Provider

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 12:11, 2 октября 2010 (править)
Dmach (Обсуждение | вклад)
(Новая: Ошибка '''Unable to find the requested .Net Framework Data Provider. It may not be installed.''' пример ошибки Ошиб...)
← К предыдущему изменению
Текущая версия (14:52, 1 ноября 2011) (править) (отменить)
Dmach (Обсуждение | вклад)
м (Правки Argar (обсуждение) откачены к версии Dmach)
 
(7 промежуточных версий не показаны.)
Строка 1: Строка 1:
-Ошибка '''Unable to find the requested .Net Framework Data Provider. It may not be installed.'''+=== Пример ошибки ===
-[[Изображение:Fwdataprovider.png|пример ошибки]]+Ошибка '''Unable to find the requested .Net Framework Data Provider. It may not be installed.''' может возникать в случае использования [http://dev.mysql.com/downloads/connector/net/ mySQL .NET Connector] при неверном его конфигурировании и размещении на сайте. Ниже описано что делать.
-Ошибка может возникать в случае использования [http://dev.mysql.com/downloads/connector/net/ mySQL .NET Connector] при неверном его конфигурировании и размещении на сайте. Ниже описано что делать.+[[Изображение:Fwdataprovider.png|пример ошибки]]
=== Скопировать сборку на сервер === === Скопировать сборку на сервер ===
Строка 33: Строка 33:
name="connName" name="connName"
connectionString="server=XXX;User Id=YYY;database=ZZZ;password=***" connectionString="server=XXX;User Id=YYY;database=ZZZ;password=***"
- providerName="MySQL Data Provider"/>+ providerName="MySql.Data.MySqlClient"/>
</connectionStrings> </connectionStrings>
Строка 42: Строка 42:
<system.data> <system.data>
<DbProviderFactories> <DbProviderFactories>
 + <remove invariant="MySql.Data.MySqlClient" />
<add <add
name="MySQL Data Provider" name="MySQL Data Provider"
Строка 49: Строка 50:
</DbProviderFactories> </DbProviderFactories>
</system.data> </system.data>
 +
 +'''ВАЖНО!!!''' Значение атрибута '''invariant''' отсюда должно совпадать со значением атрибута '''providerName''' из строки подключения. Строчка с удалением '''invariant''' нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не было ошибок из-за дублирования провайдеров.
[[Категория:WEB-сервер IIS]] [[Категория:WEB-сервер IIS]]
Строка 54: Строка 57:
[[Категория:ASP.NET]] [[Категория:ASP.NET]]
[[Категория:MySQL]] [[Категория:MySQL]]
 +[[Категория:web.config]]

Текущая версия

Содержание

[править] Пример ошибки

Ошибка 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 нужна для исключения ситуаций, когда похожий провайдер добавлен уровнем выше, что бы не было ошибок из-за дублирования провайдеров.

Личные инструменты