【发布时间】: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