连接到MS SQL服务器时出错

时间:2015-10-05 08:07:12

标签: c# mysql asp.net sql-server

我在web.config文件中有以下连接字符串,用于连接到MS Sql数据库。

<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Server=developer\SqlExpress;Integrated Security=True;Database=mydb" providerName="System.Data.SqlClient"/>

我在同一台机器上安装了MS SQL服务器和MySQL服务器。当我尝试运行应用程序时,我在machine.config文件的第285行中收到以下错误。

错误:

  

分析程序错误消息:使用主机''为用户'进行身份验证   方法'mysql_native_password'失败并显示消息:拒绝访问   用户''@'localhost'(使用密码:否)

<add name="MySqlSiteMapProvider"  type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />

该错误与mySQL有关,但我正在尝试连接MS SQL。

我该如何解决这个问题?

6 个答案:

答案 0 :(得分:4)

我认为您应该尝试在web.config中删除它

<remove name="MySqlSiteMapProvider" />

答案 1 :(得分:1)

问题不在于连接到SQL Server。问题是您的配置文件找到了一个名为MySqlSiteMapProvider的条目,该条目试图连接到我的SQL Server,但它失败了。我不知道这个提供程序的用途是什么,但您必须将其从appilcation代码中删除,或者更新它,以便它使用SQL Server而不是丢失或配置错误的mySql。

答案 2 :(得分:1)

您可以仅注释掉提供者,如下所示,而不是删除该行。也可以。

<!-- <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=8.0.21.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/> -->

答案 3 :(得分:0)

我有这个问题

如果您使用网站面板,请转到面板&gt; &#34;网站&#34; &GT;选择网站并检查&#34;启用写入权限&#34;在主页&#34;文件夹标签&#34;

答案 4 :(得分:0)

MySql Connector正在创建问题。您可以通过以下方法进行更改:转到控制面板->程序->程序和功能,然后右键单击MySql Connector Net [version],其中[version]是已安装的.Net MySql Connector的版本号,然后单击“更改”。然后单击“下一步”->“更改”,然后单击Web提供商之前的下拉菜单,然后选择“整个功能将不可用”。然后单击并完成。并且您完成了。

答案 5 :(得分:0)

当您使用MySql Connector Net安装Mysql时,会发生此问题。当Mysql Connector Net安装您的计算机时,它将根据您的.net版本配置“ machine.config”。

有两种解决方法。

1)您可以在提供商中添加<clear />标签。 “ Machine.config”将覆盖您的自定义提供程序,因此要禁用此功能,我们在您的项目web.config中添加<clear />标签。

 <siteMap defaultProvider="SitefinitySiteMap">
  <providers>
    <!-- This line added. -->
    <clear />
    <add name="SitefinitySiteMap" type="Telerik.Sitefinity.Web.SitefinitySiteMap, Telerik.Sitefinity" />
  </providers>
</siteMap>

2)第二种方法有些棘手,如果将Mysql与.net一起使用,则可能会导致项目错误。

首先,您需要找到“ machine.config”的位置。您可以在此处获取更多信息:https://stackoverflow.com/a/2325492/3801977

就我而言,位置是:

  

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config

打开“ machine.config”,然后找到以下行并将其删除:

<siteMap>
  <providers>
    <add name="MySqlSiteMapProvider" type="MySql.Web.SiteMap.MySqlSiteMapProvider, MySql.Web, Version=8.0.13.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" />
  </providers>
</siteMap>