2016-07-26 1 views
2

이전 서버에서 새 서버로 일련의 응용 프로그램을 마이그레이션하고 있습니다.오류 받기 : "지정한 MySQL 호스트에 연결할 수 없습니다." MySQL을 사용하지 않는 응용 프로그램에서

새 응용 프로그램 서버에서이 응용 프로그램을 성공적으로 테스트 한 후 새 PROD 서버로 코드를 승격하면 오류가 반환됩니다. 이 응용 프로그램에서 데이터베이스 코드를 확인한 후, 나는 우리가 MySQL이 아닌 SQL Server를 사용하고 있다고 확신합니다. 왜 이런 일이 일어날 지에 대해서는 약간의 의구심이 있습니다. 어떤 아이디어 나 제안?

편집 : 로컬 시스템에서이 오류를보기 위해 서버 관리자가 있습니다.이 서버는 실제로 machine.config에 나열된 사이트 맵 공급자와 관련이 있으며 실제로 반환됩니다. 파일 시스템 로그에 깊이 파고

Server Error in '/DinglemeyersApplication' Application.


Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Unable to connect to any of the specified MySQL hosts.

Source Error:

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> 

Source File: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config Line: 276 ________________________________________ Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1069.1

, 나는 다음과 같이 전체 스택 추적을 찾을 :

System.Configuration.ConfigurationErrorsException: Unable to connect to any of the specified MySQL hosts. (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config line 276) ---> MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. 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) at MySql.Web.Common.SchemaManager.CheckSchema(String connectionString, NameValueCollection config) at System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType) --- End of inner exception stack trace --- at System.Web.Configuration.ProvidersHelper.InstantiateProvider(ProviderSettings providerSettings, Type providerType) at System.Web.Configuration.ProvidersHelper.InstantiateProviders(ProviderSettingsCollection configProviders, ProviderCollection providers, Type providerType)
at System.Web.Configuration.SiteMapSection.get_ProvidersInternal()
at System.Web.SiteMap.Initialize() at System.Web.UI.WebControls.SiteMapDataSource.get_Provider() at System.Web.UI.WebControls.SiteMapDataSource.GetHierarchicalView(String viewPath) at System.Web.UI.WebControls.HierarchicalDataBoundControl.GetData(String viewPath) at System.Web.UI.WebControls.Menu.DataBindItem(MenuItem item) at System.Web.UI.WebControls.Menu.PerformDataBinding() at System.Web.UI.WebControls.HierarchicalDataBoundControl.PerformSelect() at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
at System.Web.UI.WebControls.Menu.EnsureDataBound() at System.Web.UI.WebControls.Menu.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.default_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\dinglemeyersApplication\faeebe62\5126d38e\App_Web_fi2tylhk.5.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

+0

검색합니다. 누군가가 MySQL 드라이버를 호출 중입니다 ... –

+0

X, 불행히도 내가 한 첫 번째 일, 소스 코드에서 결과가 없습니다. 종속성을 디 컴파일하고 결과가없는 MySQL 참조를 찾았습니다. ( –

+0

Sitemap에 대한 구성을 확인 했습니까? MySql에 대한 참조가있는 것 같습니다. 아마도 'web.sitemap '파일을 배포하지 않았지만 배포 한 폴더 나 IIS 루트 폴더에 걸려있는 파일 –

답변

9

는 I에 유래 포스트에 기술 된 방법을 사용하여이 문제를 해결했습니다

ASP.NET Cannot Find MySQL Host Even Though I'm Not Using MySQL

는 이전에이 응용 프로그램의 Web.config에 정의 된 사이트 맵을하지 않았다. 내 web.config로 이동하여 사이트 맵 노드를 추가 한 다음 <remove name="MySqlSiteMapProvider">을 추가하면이 문제가 해결 된 것으로 보입니다. 이 마이그레이션 후에도 응용 프로그램을 계속 테스트 할 것이지만 지금은 작동 중입니다! 내 Web.config의에서

: "MySQL의"에 대한 프로젝트에서

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

정말 많은 시간을 절약 할 수 있습니다.이 작업은 정말 저의 트릭이었습니다. 매우 도움이되는 답변에 감사드립니다. –

+0

이것은 처음에이 질문/답변을 게시 한 이유입니다. 누군가 시간을 절약하게되어 기쁘게 생각합니다 !!!! –

+1

나는 몇 달 동안 무자비하게 작동하는 사이트를 가졌습니다. 갑작스럽게 작동이 멈췄으며 ' 이 문제가 갑자기 문제가 되었습니까? –

관련 문제