Ошибка ASP.NET при попытке настроить ListView + SqlDatasource для таблицы MySql - PullRequest
0 голосов
/ 09 июня 2010

Я использую ASP.NET + MySql Db.Я пытаюсь настроить ListView, поэтому я написал:

<asp:SqlDataSource ID="dsDatiUtente" runat="server" ConnectionString="Server=12.28.136.29;Database=mydb;Uid=m111d1;Pwd=fake;Pooling=false;"
                ProviderName="MySql.Data.MySqlClient"
                SelectCommand="SELECT * FROM user WHERE idUser=@IdUser"

/>

В начале моей страницы aspx я добавил

<%@ Import Namespace="MySql.Data.MySqlClient" %>

Но если я щелкаю по источнику sqldatasource и нажимаю «Обновить схему», я получаю эту ошибку:

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

Например, я установил его, но я также удалил старую версию, а затем установил новые версии.В моем проекте я просто скопировал Mysql dll в папку «bin», а затем добавил ссылку на эту dll.Я не уверен, что это исправленный способ ...

Мне нужно иметь "обновленную схему", чтобы позволить vs.net автоматически создавать мой список ... если я не могу "автоматически собрать"listview, я должен написать весь код вручную, и это слишком дорогая работа для меня: (

В чем я не прав?

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Работает ли изменение вашего кода на что-то подобное?

Web.Config

<configuration>

 <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=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
   </DbProviderFactories>
 </system.data>


  <connectionStrings>
    <add name="MySQL1"
    connectionString= "Server=12.28.136.29;Database=mydb;Uid=m111d1;Pwd=fake;Pooling=false;"
     providerName="MySql.Data.MySqlClient"/>    
  </connectionStrings>

Страница ASPX:

<%@ Import Namespace="MySql.Data.MySqlClient" %>

 <asp:SqlDataSource ID="dsDatiUtente"   runat="server"
        ConnectionString="<%$ ConnectionStrings:MySQL1 %>"
        ProviderName="<%$ ConnectionStrings:MySQL1.ProviderName %>"
        SelectCommand="SELECT * FROM user WHERE idUser=@IdUser;"
         />
0 голосов
/ 15 июня 2010

Я решил зарегистрировать компонент mysql в machine.config. Это была проблема с установкой. Итак, я записал в свой machine.config это:

   <system.data>
    <DbProviderFactories>
        <clear/>
        <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.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d " /> <!-- 13b67ce9e090fefa per la versione 6.3.1-->
    </DbProviderFactories>
</system.data>
...