0

我有两个用于 mysql 的 RDS 实例,1 个主节点和 1 个复制从节点。我已经设置了一个监听 6033 端口的 ProxySql EC2 实例,它将所有写入请求路由到主节点,并将所有读取请求路由到从节点。

在我的 .NET 代码中,如果我执行简单的内联查询,例如“select * from tableX;” 然后它通过 ProxySql EC2 实例执行,但是当我将此语句放在一个过程中并通过 c# 代码调用该过程时,它会引发错误:

MySql.Data.MySqlClient.MySqlException (0x80004005): 表 'mysql.proc' 不存在

我正在使用 MySql.Data 8.0.13 nuget 包进行数据库交互。AWS RDS 上的 Mysql 版本是 8.0.13。

在 .NET 应用程序中,连接字符串是:

服务器=xxx.amazonaws.com;端口=6033;用户=xxx;数据库=abc;密码=xxxx;字符集=utf8mb4;

此外,如果我通过 SqlYog 连接,我可以执行该过程而不会出现任何错误,但使用 .NET 则无法正常工作。

4

1 回答 1

0

确保在连接字符串中添加CheckParameters=false :

server=xxx.amazonaws.com;Port=6033;user=xxx;database=abc;password=xxxx;charset=utf8mb4;CheckParameters=false;
于 2019-09-07T11:00:22.477 回答