获取错误:";无法连接到任何指定的MySQL主机";在一个没有';不要使用MySQL

本文关键字:quot MySQL 一个 连接 取错误 任何指 主机 获取 | 更新日期: 2023-09-27 17:58:39

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

在我们新的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>

源文件: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.30119''Config''machine.Config第276行)--->MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的MySQL主机。在位于的MySql.Data.MySqlClient.NativeDriver.Open()位于的MySql.Data.MySqlClient.Driver.Open()MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder设置),位于MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()位于的MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()位于的MySql.Data.MySqlClient.MySqlPool.GetConnection()位于的MySql.Data.MySqlClient.MySqlConnection.Open()MySql.Web.Common.SchemaManager.GetSchemaVersion(字符串connectionString)MySql.Web.Common.SchemaManager.CheckSchema(字符串连接字符串,NameValueCollection配置)System.Web.Configuration.ProviderHelper.InstantiateProvider(ProviderSettingsproviderSettings,Type providerType)--内部异常结束堆栈跟踪--在System.Web.Configuration.ProviderHelper.InstantiateProvider(ProviderSettingsproviderSettings,Type providerType)System.Web.Configuration.ProviderHelper.InstantiateProviders(ProviderSettingsCollectionconfigProviders、ProviderCollection providers、Type providerType)
位于System.Web.Configuration.SiteMapSection.get_ProvidersInternal()
位于的System.Web.SiteMap.Initialize()位于的System.Web.UI.WebControls.SiteMapDataSource.get_Provider()System.Web.UI.WebControls.SiteMapDataSource.GetHierarchicalView(字符串viewPath)System.Web.UI.WebControls.HierarchicalDataBoundControl.GetData(字符串viewPath)在System.Web.UI.WebControls.Menu.DataBindItem(MenuItem项)的System.Web.UI.WebControls.Menu.PerformDataBinding()System.Web.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.PreRenderSecuriveInternal()位于的System.Web.UI.Control.PreRenderSecuriveInternal()位于的System.Web.UI.Control.PreRenderSecuriveInternal()位于的System.Web.UI.Control.PreRenderSecuriveInternal()位于的System.Web.UI.Control.PreRenderSecuriveInternal()System.Web.UI.Page.ProcessRequestMain(布尔值includeStagesBeforeSyncPoint,布尔includeStagesAfterSyncPoint)
位于System.Web.UI.Page.ProcessRequest(布尔值includeStagesBeforeSyncPoint,布尔includeStagesAfterSyncPoint)
位于System.Web.UI.Page.ProcessRequest()位于的System.Web.UI.Page.ProcessRequest(HttpContext上下文)中的ASP.default_aspx.ProcessRequest(HttpContext上下文)c: ''Windows''Microsoft.NET''Framework64''v4.0.30119''临时ASP.NETFiles''dinglemeyersApplication''feebe62''5126d38e''App_Web_fi2tylhk.5.cs:line 0在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔运算&完成同步)

获取错误:";无法连接到任何指定的MySQL主机";在一个没有';不要使用MySQL

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

ASP.NET找不到MySQL主机,即使我';m未使用MySQL

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

在我的web.config中:

<system.web>
 ...
  <siteMap>
    <providers>   
        <remove name="MySqlSiteMapProvider" />
    </providers>
  </siteMap>
</system.web>