【问题标题】:ASP.NET error when trying to configure ListView + SqlDatasource for a MySql Table尝试为 MySql 表配置 ListView + SqlDatasource 时出现 ASP.NET 错误
【发布时间】:2010-06-09 15:50:49
【问题描述】:

我正在使用 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 自动构建我的列表视图...如果我不能“自动构建”列表视图,我必须手动编写所有代码,这是一个工作太贵了:(

我怎么了?

谢谢!

【问题讨论】:

    标签: asp.net sqldatasource mysql-connector


    【解决方案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;"
             />
    

    【讨论】:

    • 为什么要切换到 oledbdatasource ?你确定我的表现不会松懈吗?
    • 不幸的是,它仍然无法正常工作!我认为 vs.net 配置中有一些遗漏。但我不知道是什么...
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多