我在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。
我该如何解决这个问题?
答案 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>