获取错误:"无法连接到任何指定的MySQL主机." 在不使用MySQL的应用程序中

Din*_*UUp 3 c# mysql sql-server asp.net

我们正在将一系列应用程序从旧服务器迁移到新服务器.

在我们的新DEV服务器中成功测试此应用程序,然后将代码提升到新的PROD服务器后,这将返回错误.在检查了这个应用程序中的数据库代码之后,我确定我们正在使用SQL Server而不是MySQL ...我有点疑惑为什么会发生这种情况.任何想法或建议?

编辑:我有一个服务器的管理员从本地机器查看此错误,这是真正被返回的,特别是与服务器上的machine.config上列出的站点地图提供程序有关...

'/ DinglemeyersApplication'应用程序中的服务器错误.


配置错误
说明:处理为此请求提供服务所需的配置文件时发生错误.请查看下面的具体错误详细信息并相应地修改配置文件.

分析器错误消息:无法连接到任何指定的MySQL主机.

来源错误:

 Line 274:    <siteMap> 
 Line 275:      <providers> 
 Line 276:        <add name="MySqlSiteMapProvider"  type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web,
 Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
 connectionStringName="LocalMySqlServer" applicationName="/" /> 
 Line 277:      </providers> 
 Line 278:    </siteMap>
Run Code Online (Sandbox Code Playgroud)

源文件:C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config行:276 ________________________________________版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.6.1069.1

深入挖掘文件系统日志,我发现完整的堆栈跟踪如下:

System.Configuration.ConfigurationErrorsException:无法连接到任何指定的MySQL主机.(C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config第276行)---> MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的MySQL主机.at MySql.Data.MySqlClient.NativeDriver.Open()at MySql.Data.MySqlClient.Driver.Open()at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()at MySql.Data.MySqlClient.MySqlPool.GetConnection()at MySql.Data.MySqlClient.MySqlConnection.Open()at MySql.Web.Common.SchemaManager.GetSchemaVersion(String connectionString)在MySql.Web.Common.SchemaManager.CheckSchema(字符串的connectionString,NameValueCollection中配置)在System.Web.Configuration.ProvidersHelper.InstantiateProvider(providerSettings providerSettings,类型providerType)内部异常堆栈跟踪的---末尾在的System.Web System.W上的System.Web.Configuration.ProvidersHelper.InstantiateProviders(ProviderSettingsCollection configProviders,ProviderCollection providers,Type providerType)
中的.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings,Type providerType)eb.Configuration.SiteMapSection.get_ProvidersInternal()
在System.Web.SiteMap.Initialize()在System.Web.UI.WebControls.SiteMapDataSource.get_Provider()在System.Web.UI.WebControls.SiteMapDataSource.GetHierarchicalView(字符串viewPath)在System.Web上的System.Web.UI.WebControls.Menu.PerformDataBinding()上的System.Web.UI.WebControls.Menu.DataBindItem(MenuItem项)中的System.Web.UI.WebControls.HierarchicalDataBoundControl.GetData(String viewPath). UI.WebControls.HierarchicalDataBoundControl.PerformSelect()在System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
在System.Web.UI.WebControls.Menu.EnsureDataBound()在System.Web.UI.WebControls.Menu.OnPreRender( EventArgs e)上System.Web.UI.Control.PreRenderRecursiveInternal()在System.Web.UI.Control.PreRenderRecursiveInternal()在System.Web.UI.Control.PreRenderRecursiveInternal()在System.Web.UI.Control.PreRenderRecursiveInternal( )在System.Web.UI.Page.ProcessRequestMain的System.Web.UI.Control.PreRenderRecursiveInternal()处 (布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
在System.Web.UI.Page.ProcessRequest(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)
在System.Web.UI.Page.ProcessRequest()在System.Web.UI.Page.ProcessRequest(HttpContext的上下文)在ASP.default_aspx.ProcessRequest(HttpContext的背景下)在C:\ WINDOWS\Microsoft.NET\Framework64\v4.0.30319 \临时ASP.NET文件\ dinglemeyersApplication\faeebe62\5126d38e\App_Web_fi2tylhk.5.cs:0线在System.Web程序System.Web.HttpApplication.ExecuteStep中的.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()(IExecutionStep step,Boolean&completedSynchronously)

Din*_*UUp 13

我已经使用StackOverflow帖子中描述的方法解决了这个问题:

即使我没有使用MySQL,ASP.NET也找不到MySQL主机

以前,此应用程序没有在web.config中定义任何站点地图.通过进入我的web.config并添加一个站点地图节点,然后添加一个<remove name="MySqlSiteMapProvider">似乎解决了这个问题.我将在迁移后继续测试应用程序,但现在它正在运行!

在我的web.config中:

<system.web>
 ...
  <siteMap>
    <providers>   
        <remove name="MySqlSiteMapProvider" />
    </providers>
  </siteMap>
</system.web>
Run Code Online (Sandbox Code Playgroud)