日期:2014-05-18  浏览次数:20718 次

DatabaseMetaData.getProcedureColumns方法疑惑
问题产生场景:我用owner用户创建了一个存储过程procedureName,当使用owner用户链接数据库后DatabaseMetaData.getProcedureColumns可以获取到procedureName的参数个数,但是使用具有执行procedureName权限的app用户却获取不到procedureName的参数个数,请各位高手指教其中玄机。
getProcedureColumns

------解决方案--------------------
别人的存储过程的参数个数等信息是数据库的结构性信息,在系统视图里,需要有对数据字典的访问权限。

能使用别人的存储过程就是一个execute权限,根本就不是一个级别的权限。
------解决方案--------------------
要增加app用户的访问存储过程的权限才行。