【问题标题】:Grid View Error Visual Studio 2010 asp.NET Framework 4. Unable to find .NET Framework Provider网格视图错误 Visual Studio 2010 asp.NET Framework 4. 找不到 .NET Framework Provider
【发布时间】:2011-07-15 10:06:00
【问题描述】:

我有一个 SQL Compact 版本数据库作为本地文件。我正在使用 Visual Studio 2010 访问数据库并制作我的 asp.NET 网站。

在我的 aspx 页面设计视图中,数据显示正常,当我对其进行配置并运行测试查询时,它工作正常......

但是当我运行我的页面时,我得到了这个奇怪的错误。

Unable to find the requested .Net Framework Data Provider.  It may not be installed.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
    System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1402071
    System.Web.UI.WebControls.SqlDataSource.GetDbProviderFactory() +67
    System.Web.UI.WebControls.SqlDataSource.GetDbProviderFactorySecure() +22
    System.Web.UI.WebControls.SqlDataSource.CreateConnection(String connectionString) +11
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +117
    System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
    System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
    System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
    System.Web.UI.WebControls.GridView.DataBind() +4
    System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
    System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75
    System.Web.UI.Control.EnsureChildControls() +102
    System.Web.UI.Control.PreRenderRecursiveInternal() +42
    System.Web.UI.Control.PreRenderRecursiveInternal() +175
    System.Web.UI.Control.PreRenderRecursiveInternal() +175
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

我一个,不知道这是什么...我搜索了网络,发现它可能与我的 web.config 文件有关。我的aspx代码是:

<asp:SqlDataSource ID="pending" runat="server"
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>"                

    SelectCommand="SELECT u.firstName, u.surname, w.url, c.companyName, o.cost FROM Website AS w INNER JOIN Orders AS o ON w.webID = o.websiteID INNER JOIN Company AS c ON w.companyID = c.companyID INNER JOIN Users AS u ON c.userID = u.userID WHERE (o.completed = 'N')" 
    ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>">
</asp:SqlDataSource>

<asp:GridView ID="grid" runat="server" AutoGenerateColumns="False" 
    <Columns>
        <asp:CommandField ShowSelectButton="True" />
        <asp:BoundField DataField="firstName" HeaderText="firstName" ReadOnly="True" 
            SortExpression="firstName" />
        <asp:BoundField DataField="surname" HeaderText="surname" ReadOnly="True" 
            SortExpression="surname" />
        <asp:BoundField DataField="url" HeaderText="url" ReadOnly="True" 
            SortExpression="url" />
        <asp:BoundField DataField="companyName" HeaderText="companyName" 
            ReadOnly="True" SortExpression="companyName" />
        <asp:BoundField DataField="cost" HeaderText="cost" ReadOnly="True" 
            SortExpression="cost" />
    </Columns>
</asp:GridView>

我的网络配置是:

<?xml version="1.0"?>
<configuration>
<connectionStrings>
        <add name="ConnectionString" connectionString="Data Source=Database.sdf;Password=XXXX;Persist Security Info=True"
            providerName="Microsoft.SqlServerCe.Client.3.5" />
    </connectionStrings>
    <system.web>
        <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            </assemblies>
        </compilation>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

很抱歉发了这么长的帖子……但我真的看不出问题所在,我不会再浪费 2 个小时的时间来解决这个问题!

谢谢!

基本上我的网站在没有 GridView 的情况下运行良好。一旦我添加它,网络浏览器就会出现该错误。

我在配置中添加了 Microsoft.SqlServerCe.Client 工厂...仍然没有

【问题讨论】:

    标签: asp.net visual-studio-2010 gridview


    【解决方案1】:

    我们遇到了类似的问题。原来 SQL CE 程序集不在目标服务器上,它不是 .NET Framework 的默认部分,它是辅助安装。通过在部署期间将 SQL Server CE 程序集包含在我们的 bin 目录中,我们能够让一切运行起来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 2011-02-19
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      相关资源
      最近更新 更多