mysql - "MySqlException: Table ' mysql.proc ' doesn' t 存在”在.NET Core中执行MySQL存储过程时

标签 mysql asp.net-core ado.net

我正在使用 ADO.NET 数据提供程序 MySql.Data.MySqlClient 从 .NET Core 访问 MySQL 数据库,并且大多数功能都可以正常工作,但是每当我尝试访问存储过程时,我都会看到以下异常消息:

MySql.Data.MySqlClient.MySqlException : Table 'mysql.proc' doesn't exist

我能找到的所有文章都建议运行mysql_upgrade来修复系统表,但这没有发现任何问题。

事实上,数据库不包含 mysql.proc 表 - 但 it is not supposed to since it is MySQL 8.0 !

我已使用 MySQL 安装程序安装了最新版本的 Connector/NET (8.0.15)。

我做错了什么?

最佳答案

安装的 Connector/NET 版本...无关紧要!

这是 .NET Core,.NET Core 的 ADO.NET 数据提供程序是通过 NuGet 获取的 - 因此请确保您的 .NET Core 项目正在加载最新版本的 MySql.Data NuGet 包。

旧版本的 MySql.Data NuGet 包(v.8 之前的版本)在尝试访问版本 8+ MySQL 数据库上的存储过程时确实会出现上述错误。

关于mysql - "MySqlException: Table ' mysql.proc ' doesn' t 存在”在.NET Core中执行MySQL存储过程时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55290077/

相关文章:

c# - 填充数据集异步

python - 类型错误 : unsupported operand type(s) python web2py

MySQL计算同一查询的派生列之间的差异

c# - Asp Core Web App,使用 Azure Devops 部署时为 404,通过 Visual studio 发布时为 200

.net - 通过我的 Azure Web 应用程序上传文件时超时

c# - DBContext 中的等待和 LINQ

c# - .NET 系统类型到 SqlDbType

php - 您如何看待这个解决方案而不是使用表名作为 PDO 参数?

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

c# - EF Core,数据库优先。如何将通用存储库接口(interface)移动到另一个程序集?