ITPub博客

首页 > 大数据 > 数据挖掘 > kettle调度mysql存储过程问题

kettle调度mysql存储过程问题

原创 数据挖掘 作者:warren20 时间:2015-07-14 17:55:33 0 删除 编辑
今天用kettle调用mysql 的存储过程报错了,错误如下:

  1. 2015/07/14 17:35:43 - aaa - 为了转换解除补丁开始  [aaa]
    2015/07/14 17:35:43 - 获取昨天日期.0 - 完成处理 (I=0, O=0, R=1, W=1, U=0, E=0
    2015/07/14 17:35:43 - analyse.P_STAT_ALL_EVERYDAY.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Because of an error, this step can't continue: 
    2015/07/14 17:35:43 - analyse.P_STAT_ALL_EVERYDAY.0 - Unable to prepare database procedure call
    2015/07/14 17:35:43 - analyse.P_STAT_ALL_EVERYDAY.0 - 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.
    2015/07/14 17:35:43 - analyse.P_STAT_ALL_EVERYDAY.0 - 完成处理 (I=0, O=0, R=1, W=0, U=0, E=1
    2015/07/14 17:35:43 - aaa - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : 错误被检测到!
    2015/07/14 17:35:43 - aaa - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : 错误被检测到!
    2015/07/14 17:35:43 - aaa - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : 错误被检测到!
    2015/07/14 17:35:43 - aaa - 转换被检测
    2015/07/14 17:35:43 - aaa - 转换正在杀死其他步骤!
在网上搜了一下,说是JDBC在调用存储过程时不光用户要有execute的权限,还需要对mysql.proc具有访问权限, 我这里测试了两种方法,都是可以的

方法一:在连接数据库的时候,在链接字符窜的选项中添加 “noAccessToProcedureBodies=true”,



方法二:对mysql数据库下的proc赋权

  1. mysql> grant select on mysql.proc to kettle@'10.10.%' identified by '*********';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30150152/viewspace-1733167/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: KETTLE 使用总结
请登录后发表评论 登录
全部评论

注册时间:2015-03-03

  • 博文量
    56
  • 访问量
    376702