Java 使用SpringJDBCTemplate调用Oracle过程
我不熟悉Spring jdbcTemplate 我有一个oracle程序,它已经在oracle数据库中编译过了Java 使用SpringJDBCTemplate调用Oracle过程,java,spring,oracle,spring-mvc,stored-procedures,Java,Spring,Oracle,Spring Mvc,Stored Procedures,我不熟悉Spring jdbcTemplate 我有一个oracle程序,它已经在oracle数据库中编译过了 create or replace PROCEDURE TRANSFORM_TRN_AFEES_KVP_PROC(days_to_arch IN number DEFAULT 1) IS BEGIN dbms_output.put_line('START - TRANSFORM_TRN_AFEES_KVP_PROC '); dbms_output.put_line('Archi
create or replace PROCEDURE TRANSFORM_TRN_AFEES_KVP_PROC(days_to_arch IN number DEFAULT 1)
IS
BEGIN
dbms_output.put_line('START - TRANSFORM_TRN_AFEES_KVP_PROC ');
dbms_output.put_line('Archieving for last '|| days_to_arch || ' days and ' );
INSERT
INTO IP_CO_WR2_USR.TRANSFORM_TRN_AFEES_KVP_ARCH
SELECT *
FROM IP_CO_WR2_USR.TRANSFORM_TRN_AFEES_KVP_TEMP
where insert_timestamp < (CAST (trunc(sysdate-days_to_arch) AS TIMESTAMP));
DELETE
FROM IP_CO_WR2_USR.TRANSFORM_TRN_AFEES_KVP_TEMP
where insert_timestamp < (CAST (trunc(sysdate-days_to_arch) AS TIMESTAMP));
COMMIT ;
DBMS_OUTPUT.PUT_LINE('END - TRANSFORM_TRN_AFEES_KVP_PROC ');
END;
第二条路
jdbcTemplate.update("{call TRANSFORM_TRN_AFEES_KVP_PROC (?)}", 3);
第三条路
Connection connection = jndiDataSource.getConnection();
connection.setAutoCommit(false);
CallableStatement callableStatement = connection.prepareCall("{call TRANSFORM_TRN_AFEES_KVP_PROC(?)}");
callableStatement.setInt(1, 3);
System.out.println(callableStatement.executeUpdate());;
connection.commit();
请指导我写这段代码 您在每种尝试方式中都会遇到什么异常?@Bond JavaBond-所有操作都会毫无异常地执行,但对数据库没有任何影响。你在日志中看到了什么?尝试启用
调试
级别并分析日志中未显示任何内容,调试模式为上述所有3种方式,如果使用sqldeveloper手动执行过程,则不影响数据库另一端。您确定在调用过程时没有出现异常吗?您尝试的每种方式都会遇到什么异常?@Bond JavaBond-all执行时没有任何异常,但对数据库没有任何影响。你在日志中看到了什么?尝试启用DEBUG
级别并进行分析。如果日志中没有显示任何内容,则上述三种方式均为调试模式。如果使用sqldeveloper手动执行该过程,则另一端执行该过程不会影响数据库。您确定在调用该过程时没有出现异常吗?
Connection connection = jndiDataSource.getConnection();
connection.setAutoCommit(false);
CallableStatement callableStatement = connection.prepareCall("{call TRANSFORM_TRN_AFEES_KVP_PROC(?)}");
callableStatement.setInt(1, 3);
System.out.println(callableStatement.executeUpdate());;
connection.commit();