MySql Connector / Net与运行SQL Server的应用程序冲突

时间:2015-02-26 22:23:14

标签: mysql asp.net sql-server

我在本地计算机上运行的ASP.Net Web应用程序使用来自远程SQL Server 2012的数据源。

我在我的机器上安装了MySQL服务器,用于完全不同的项目,现在当我在使用远程数据库的应用程序上执行任何进程时,收到以下错误:

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: Host '(ahostnumber)' is not allowed to connect to this MySQL server

Source Error: 

Line 283:    <siteMap>
Line 284:      <providers>
Line 285:        <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
Line 286:      </providers>
Line 287:    </siteMap>

请注意,如果我删除了Connector / NET,一切都会正常工作。

1 个答案:

答案 0 :(得分:2)

好的,所以我也遇到了这个问题,让我的网站恢复了工作。我觉得这有点像HACK并且还觉得有更好的解决方案,因为我不想更新我所有项目的所有web.config文件。但至少我能做好工作,直到找到更好的解决方案。

因为machine.config是web.config的父级,我们可以覆盖web.config中的machine.config。我在部分中更改了我的web.config看起来像这样。

<siteMap>
  <providers>
    <!-- ADDED CLEAR TO REMOVE ANY CONFIGS FROM MACHINE.CONFIG -->
    <clear />
    <!-- ADDED TO REPLACE ONE NEEDED FOR MY APP -->
    <add name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/web.sitemap" securityTrimmingEnabled="true"/>
    <add name="DefaultProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/web.sitemap" securityTrimmingEnabled="false"/>
    <!-- THE REST OF YOUR SITEMAP PROVIDERS HERE... -->
  </providers>
</siteMap>

希望这有帮助。