ASP.Net无法找到.Net Framework Provider

时间:2013-03-19 03:08:32

标签: c# asp.net mysql visual-studio connection-string

在将网站上传到Godaddy服务器的过程中,使用MySql的数据网格会导致问题。下面随web配置输出错误。问题似乎是服务器没有正确的安装要求,例如我的Web配置中的MySql.Data,但我不确定该怎么做。 .Net MySql连接器安装在本地系统上并运行正常。这是输出的错误。

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.


[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not   be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1419911
  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配置:

<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>

                               

<add name="GoDaddy" connectionString=" Server=***; Database=kappalambda; User ID=***; Password=***; Trusted_Connection=False" providerName="System.Data.SqlClient" />



<!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial  Catalog=aspnet-Kappa Lambda-20130125180802;Integrated  Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Kappa Lambda-20130125180802.mdf"
    providerName="System.Data.SqlClient" />     
         -->
   <add name="noahtk_DirectoryKappaSigAppConnectionString"  connectionString="server=***;User  Id=noahtk_klofks;password=***;database=***"
   providerName="MySql.Data.MySqlClient" />




  <!--  <add name="liveConnection" connectionString="server=****; User     Id=***; password=****#; database=****" providerName="System.Data.SqlClient"/>  
   -->

  </connectionStrings>

                     

</authentication>

<profile defaultProvider="Godaddy">
  <providers>
    <add name="Godaddy" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="Godaddy" applicationName="/" />
  </providers>
</profile>
<membership defaultProvider="Godaddy">
  <providers>

                                            

   <!--
        If you are deploying to a cloud environment that has multiple web server instances,
        you should change session state mode from "InProc" to "Custom". In addition,
        change the connection string named "DefaultConnection" to connect to an instance
        of SQL Server (including SQL Azure and SQL  Compact) instead of to SQL Server Express.
      -->
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
  </providers>
</sessionState>

                                                 

1 个答案:

答案 0 :(得分:1)

您可能需要对数据提供程序进行bin部署。来自GoDaddy的This链接描述了如何对ASP.NET MVC dll进行bin-deploy,但是对于包含数据提供程序的MySQL DLL,该进程应该类似(即copy-local应该设置为true)。

很抱歉,如果我没有走上正轨。

HTH, 森