尝试为MySql表配置ListView + SqlDatasource时出现ASP.NET错误

时间:2010-06-09 15:50:49

标签: asp.net sqldatasource mysql-connector

我正在使用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"

/&GT;

在我的aspx页面的开头,我添加了

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

但是,如果我点击sqldatasource并点击“Refresh Schema”,我收到此错误:

“无法检索架构....无法找到请求的.Net Framework数据提供程序”

例如,我已经安装了它,但我还卸载了旧版本,然后安装了新版本。在我的项目中我简单地将Mysql dll复制到“bin”文件夹中,然后添加对该dll的引用。 我不确定是纠正的方式......

我需要“刷新架构”以允许vs.net自动构建我的列表视图...如果我不能“自动构建”列表视图,我必须手动编写所有代码,它是一个太贵了我的工作:(

我错了什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

将代码更改为类似的工作吗?

<强>的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;"
         />

答案 1 :(得分:0)

我已经解决了将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>