小编SVa*_*dya的帖子

PLS-00306:从Spring JDBC调用时调用中参数的数量或类型错误

org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar  
[{call pkg_name.procedure_name()}]; nested exception is java.sql.SQLException: ORA-06550: line 1,  column 7:
PLS-00306: wrong number or types of arguments in call to 'PROCEDURE_NAME'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Run Code Online (Sandbox Code Playgroud)

我有两个架构-OwnerSchema和AppSchema。我拥有从OwnerSchema到AppSchema的所有程序包的授予执行特权。当我尝试从AppSchema的后端执行任何过程时,便能够执行该过程。当我尝试从Java Spring JDBC执行相同的过程时,出现上述错误。我可以从Java的OwnerSchema执行此过程。

我可以使用AppSchema从Java Spring JDBC应用程序访问所有表。

我已使用以下触发器指向LogOn上的OwnerSchmea。

 CREATE OR REPLACE TRIGGER FINAL_APP_USER.AFTER_LOGON_TRG
    AFTER LOGON ON FINAL_APP_USER.SCHEMA
    BEGIN
      DBMS_APPLICATION_INFO.SET_MODULE(USER, 'Initialized');
    EXECUTE IMMEDIATE 'ALTER SESSION SET current_schema=TEST'; --enter owner
    END;
    /
Run Code Online (Sandbox Code Playgroud)

这是程序调用

SimpleJdbcCall simpleJdbcCall = getSimpleJdbcCall()
                    .withCatalogName("pkg_name").withProcedureName(
                            "procedure_name").returningResultSet(
                            "C_Srf_1", new RowMapper<FinalCountForQuestions>() {
                                public FinalCountForQuestions mapRow(
                                        ResultSet rs, …
Run Code Online (Sandbox Code Playgroud)

privileges spring procedure jdbc

0
推荐指数
1
解决办法
3378
查看次数

标签 统计

jdbc ×1

privileges ×1

procedure ×1

spring ×1