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)