JDBC远程调用mysql存储过程错误
2013-07-19 16:15
381 查看
mysql数据库编译安装后,调试程序,使用普通用户通过JDBC连接,远程调用存储过程发现报出java错误java.lang.NullPointerException......空指针异常的错误
这是因为JDBC调用存储过程时需要有show create procudure 权限或是有表mysql.proc的select权限。通过在JDBC连接属性中设置noAccessToProcedureBodies=true(默认false)解决或是授予普通用户相应的权限。该noAccessToProcedureBodies=true的影响:
1. 调用存储过程时,将没有类型检查,设为字符串类型,并且所有的参数设为in类型,但是在调用registerOutParameter时,不抛出异常。
2. 存储过程的查询结果无法使用getXXX(String parameterName)的形式获取,只能通过getXXX(int parameterIndex)的方式获取。最后是通过修改JDBC连接mysql的普通用户的权限后(虽然授以所有权限可以解决,但是不建议)。重新打开页面正常。
本文出自 “老徐的私房菜” 博客,谢绝转载!
这是因为JDBC调用存储过程时需要有show create procudure 权限或是有表mysql.proc的select权限。通过在JDBC连接属性中设置noAccessToProcedureBodies=true(默认false)解决或是授予普通用户相应的权限。该noAccessToProcedureBodies=true的影响:
1. 调用存储过程时,将没有类型检查,设为字符串类型,并且所有的参数设为in类型,但是在调用registerOutParameter时,不抛出异常。
2. 存储过程的查询结果无法使用getXXX(String parameterName)的形式获取,只能通过getXXX(int parameterIndex)的方式获取。最后是通过修改JDBC连接mysql的普通用户的权限后(虽然授以所有权限可以解决,但是不建议)。重新打开页面正常。
本文出自 “老徐的私房菜” 博客,谢绝转载!
相关文章推荐
- mysql在调用存储过程时报以下错误: 错误码: 1267
- java调用mysql存储过程报权限方面错误
- mysql调用存储过程出现Illegal mix of collations错误
- MySQL存储过程相互调用并获得错误码示例
- JDBC使用MySQL存储过程错误
- JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedur
- jdbc调用mysql存储过程,并获得结果集合
- JDBC连接执行MySQL存储过程报权限错误
- MySQL存储过程中的错误处理 以及mybatis调用存储过程的例子
- JDBC-MYSQL-存储函数和存储过程的调用
- JDBC连接执行MySQL存储过程报空指针或权限错误
- JDBC连接执行MySQL存储过程报空指针或权限错误
- JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted,
- MySQL存储过程相互调用并获得错误码
- MySQL存储过程相互调用并获得错误码
- JDBC连接执行 MySQL 存储过程报权限错误
- MySQL存储过程与JDBC调用
- JDBC连接执行 MySQL 存储过程报权限错误:User does not have access to metadata required to determine stored procedur
- JDBC连接执行MySQL存储过程报权限错误
- MySQL 存储过程实例 与 ibatis/mybatis/hibernate/jdbc 如何调用存储过程