【问题标题】:Cannot execute a stored procedure (jdbc). 'noAccessToProcedureBodies=true'无法执行存储过程 (jdbc)。 'noAccessToProcedureBodies=true'
【发布时间】:2012-10-02 01:43:26
【问题描述】:

我们的一端有一个 java tomcat 服务器,另一端有一个 mysql。 我们正在使用 mysql-connector-java,尝试使用 5.1.11 和 5.1.22 版本。 mysql服务器版本为5.5.26

我们没有 mysql.proc 表的所有权限,因为它对所有数据库都有安全风险。

当我使用给定的用户名和密码登录 mysql 时,我可以执行这些程序,但是当从 java (jdbc) 使用时,它会爆炸

java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types. 

我尝试了 mysql 给出的建议,在我们的 jdbc 连接 URL 中使用了 'noAccessToProcedureBodies=true'。一点帮助都没有!没有任何区别。 (这里是我使用的 jdbc 连接字符串示例:jdbc:mysql://xxxxxx:xxxx/xxxx?noAccessToProcedureBodies=true&useInformationSchema=true)

当我阅读http://bugs.mysql.com/bug.php?id=61203 时,我发现连接器中有一个错误,我尝试按照建议使用 useInformationSchema=true。没有帮助,也没有更新 mysql-connector-java,即使该错误应该被修复。

有人遇到过这种情况吗?我想我做错了什么,每个人都说它应该有效,但对我来说却没有。

提前致谢!

【问题讨论】:

  • 您是否检查了该用户的数据库权限?因为我遇到过类似的异常,并通过为数据库中的 db 用户分配权限来解决
  • 我们有权执行每个函数和过程。我认为我们甚至没有对 mysql.proc 的读取权限,而且我们不会被允许拥有它。
  • 这里已经回答了这个问题:[Can't execute a MySQL stored procedure from Java][1] [1]: stackoverflow.com/questions/986628/…

标签: java mysql tomcat jdbc mysql-connector


【解决方案1】:

尚未验证...只需使用此:useInformationSchema=true for sql URL。 (不要放 noAccessToBodies)。

【讨论】:

    【解决方案2】:

    我有 MySQL 服务器版本:5.1.52
    我的 SQL 连接器 jar:mysql-connector-java-5.1.7-bin.jar
    雄猫:7.0.27.0
    JDK 1.6.0.18

    通过添加noAccessToProcedureBodies=true 解决了上述问题,它对我有用!

    【讨论】:

    • 我还使用“useInformationSchema=true”而不使用“noAccessToProcedureBodies=true”进行了验证,但它对我不起作用
    • 我在使用 ColdFusion10(基于 java 构建)时遇到了这个问题,其中通常的 noAccessToProcedureBodies=true 标志曾经让我们获得资金。现在连接字符串中的 useInformationSchema=true WITHOUT noAccessTo... 正在工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2016-10-11
    • 1970-01-01
    • 2010-12-16
    • 2011-03-04
    • 2020-11-19
    相关资源
    最近更新 更多