ora-06576:不是有效的函数或过程名

mgdq6dx1  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(1557)

我正在尝试调用oracle中的一个存储函数,我确信它存在并且我有权访问它,我可以从sql developer调用它,但是当我尝试使用jdbctemplate从java springboot调用它时,它会说它不是一个有效的函数或过程。
我在sqldeveloper和java connection中使用同一个用户,他也是包的所有者。
具体错误是:

oracle.jdbc.OracleDatabaseException: ORA-06576: Not a valid function or procedure name.

我这样称呼它:

User inspector = jdbcTemplate.queryForObject("CALL PKG_USUARIO.INICIAR_INSPECTOR(1, '123456')", newUserMapper());

我搜索了这个问题,但没有解决它在这种情况下,感谢帮助!,谢谢:)

vnjpjtjt

vnjpjtjt1#

检查:
您正在连接到正确的数据库服务器。
您正在连接到服务器上的正确数据库示例。
您正在以正确的用户身份进行连接。
您有正确的过程名称(并且该过程没有被赋予一个非标准名称,该名称需要在标识符周围加上双引号,例如 PKG_USUARIO."inicar_inspector" .)
您作为连接的用户具有执行该过程的权限。
该过程已成功编译。
过程实际上是一个过程而不是一个函数,它需要有一个返回值并使用以下方法调用:

{? = CALL PKG_USUARIO.INICIAR_INSPECTOR(?,?)}

BEGIN ? := PKG_USUARIO.INICIAR_INSPECTOR(?,?); END;

相关问题