JDBC远程调用mysql存储过程错误

mysql数据库编译安装后,调试程序,使用普通用户经过JDBC链接,远程调用存储过程发现报出java错误java.lang.NullPointerException......空指针异常的错误java

这是由于JDBC调用存储过程时须要有show create procudure 权限或是有表mysql.proc的select权限。经过在JDBC链接属性中设置noAccessToProcedureBodies=true(默认false)解决或是授予普通用户相应的权限。

该noAccessToProcedureBodies=true的影响:
1. 调用存储过程时,将没有类型检查,设为字符串类型,而且全部的参数设为in类型,可是在调用registerOutParameter时,不抛出异常。
2. 存储过程的查询结果没法使用getXXX(String parameterName)的形式获取,只能经过getXXX(int parameterIndex)的方式获取。
mysql

最后是经过修改JDBC链接mysql的普通用户的权限后(虽然授以全部权限能够解决,可是不建议)。从新打开页面正常。sql

相关文章
相关标签/搜索