连接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。
我该如何解决这个问题?
使用Mysql Connector Net安装Mysql时出现此问题。当Mysql Connector Net安装您的计算机时,它会配置您的"机器"。根据你的。net版本配置。
有几种方法可以解决这个问题。
1)您可以在您的提供者中添加<clear />
标记。"机器。
<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="/" />