我最近升级了服务器。它还包括MySQL从社区版迁移到MySQL商业版。现在,我似乎无法通过c#桌面应用程序执行该过程,该应用程序已经运行了好几个月。它给了我以下错误:
无法检索例程“{0}”的存储过程元数据。 为此用户授予对mysql.proc的SELECT权限或使用“use procedure bodies = false“with your connection string。
我已经检查了我在后端使用的用户的权限,并且它拥有所有足够的权限。我猜我错过了连接器或MySQL版本之间的连接字符串之间的区别。有人可以指导我吗?
更新
我检查了SELECT
语句是否正在运行。我发现他们实际上是被处决了。使用相同的连接字符串(与上面共享的异常相矛盾)。另外,SELECT
语句和调用过程之间的唯一区别是我在aplpication中创建原始查询然后使用ExecuteScalar
至于存储过程,我正在使用ExecuteNonQuery
。