Visual Studio 2010 grid view asp.NET Framework 4 error. Unable to find .NET Framework provider

I have a SQL Compact database as a local file. I am using Visual Studio 2010 to access the database and create my asp.NET site.

In my aspx page design view, the data is displayed in order, and when I set it up and run a test request, it works fine ...

However, when I launch my page, I get this strange error.

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 

For one, I have no idea what it is ... I combed the network and found that I MAY have something to do with my web.config file. My aspx code:

 <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> 

And my web configuration:

 <?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> 

Sorry for the LONG Post ... But I really don't see the problem, and I will not spend another 2 hours of my life trying to fix it!

Thanks!

Mostly my site works fine without a GridView. As soon as I add it, a web browser will appear with this error.

Ive added Microsoft.SqlServerCe.Client factory to the configuration ... Nothing yet

0
source share
1 answer

We had a similar problem. It turns out that the SQL CE assembly was not on the target server, it is not a standard part of the .NET Framework, it is a secondary installation. By including the SQL Server CE assembly in our bin directory during deployment, we were able to start everything.

+1
source

All Articles