ASP.NET Core 项目中的 MySql 连接字符串错误

Posted

技术标签:

【中文标题】ASP.NET Core 项目中的 MySql 连接字符串错误【英文标题】:MySql Connection String error in ASP.NET Core Project 【发布时间】:2021-04-21 09:57:01 【问题描述】:

我正在构建我的第一个 ASP.NET Core WebApplication,并且我正在使用 mysql 数据库。 使用 EF Core Power Tools 导入 DB-Context 后,我​​将连接字符串保存在 appsettings.json 文件中。

然后我尝试加载其中一个实体类的索引视图,但我不断收到以下错误:

ArgumentException: Keyword not supported: 'allowuservariables'.

我试图从连接字符串中抛出“allowuservariables=true”,但随后收到以下错误消息:

SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

连接字符串: "server=localhost;user id=root;database=dbname;allowuservariables=True;password=password;persistsecurityinfo=True"

连接字符串有问题还是我缺少识别“allowuservariables”的扩展?

【问题讨论】:

我刚刚意识到我发布了不完整的连接字符串。我编辑了问题以包含正确的字符串。 我在 mysql 工作台中创建了 mysql 数据库,并在本地托管它 【参考方案1】:

代码正在尝试使用SqlConnection 连接到 MySQL 数据库,这将无法正常工作。

确保您在Startup.cs 文件中的ConfigureServices 中调用UseMySql不是UseSqlServer,如documented here。

【讨论】:

【参考方案2】:

错误信息说的是sql server,不是mysql:

SqlException:在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。

对我来说,这表明您正在使用 SqlConnection 类,该类旨在与 MS SQL Server 一起使用,而不是与 mysql 一起使用。您需要使用MySqlConnection class 连接到一个mysql 实例。

【讨论】:

以上是关于ASP.NET Core 项目中的 MySql 连接字符串错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 EF 的情况下连接到 ASP.NET Core Web API 中的数据库?

Xamarin Android 使用 Asp.Net core web api 连接到 Azure Notification Hub [关闭]

尝试将 ASP.NET CORE 2 Web API 应用程序连接到 WCF 服务

elsa-core:4.ASP.NET Core Server with Elsa Dashboard

Asp.net Core 6.0 使用EF Model First 连接mysql

Asp.net Core 6.0 使用EF Model First 连接mysql