连接MS SQL服务器出错

本文关键字:出错 服务器 SQL MS 连接 | 更新日期: 2023-09-27 18:16:05

我在web中有以下连接字符串。配置文件连接MS Sql数据库。

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

我有MS SQL服务器和MySQL服务器在同一台机器上。当我尝试运行应用程序时,我在机器的第285行中得到以下错误。配置文件。

错误:

解析器错误消息:使用"for user"主机的身份验证方法'mysql_native_password'失败,消息:访问被拒绝用户" @'localhost'(使用密码:NO)

<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。

我该如何解决这个问题?

连接MS SQL服务器出错

使用Mysql Connector Net安装Mysql时出现此问题。当Mysql Connector Net安装您的计算机时,它会配置您的"机器"。根据你的。net版本配置。

有几种方法可以解决这个问题。

1)您可以在您的提供者中添加<clear />标记。"机器。

在你的项目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 '配置

打开你的"机器"。,找到以下行并删除它:

<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>

Remove"MySqlSiteMapProvider提供程序在您的web。像这样配置:

<siteMap>
  <providers>
    <remove name="MySqlSiteMapProvider" /> <!-- add this line -->
  </providers>
</siteMap>

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

MySql连接器正在创建问题。你可以通过进入控制面板->程序->程序和功能,右键单击MySql Connector Net [version],其中[version]是已安装的MySql Connector for .Net的版本号,然后单击change。然后单击Next->Change,然后单击web提供商前的下拉菜单,选择"整个功能将不可用"。然后单击并完成。你就完成了。

您可以像下面这样注释掉提供程序,而不是删除该行。

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

将以下内容添加到web.config

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

我遇到了这个问题

如果你使用的是websitpanel,点击面板> " sites">选择website,在home文件夹选项卡中勾选"Enable Write Permissions"

查找机器。"C:'Windows'Microsoft.NET'Framework'v4.0.30319' config '"机器中的配置文件。配置路径并注释下面的标签。

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