나는 다음과 같은 절차를 가지고 응용 프로그램이 있습니다은 java.sql.SQLException : ORA-01843 : 유효한 월 프로 시저를 호출
procedure get_full_data (list OUT sys_refcursor,id in number,
code in varchar2,type in varchar2) is
year_in number;
begin
year_in := to_number(to_char(to_date(sysdate,'DD-MON-RRRR'),'RRRR')); // line 628
open list for
select * from my_tab
where code_present = code AND to_number(substr(year,1,4)) in (year_in,year_in-1,year_in-2)
and minth in(select max(month) from my_tab where code_present = code
and to_number(substr(year,1,4)) in (year_in,year_in-1,year_in-2)
group by substr(year,1,9))
order by to_number(substr(year,1,4)) desc;
END get_full_data;
을 그리고 다음은이 프로 시저를 호출하는 자바 코드 (나 '의를) 여기 hibernate
을 사용하고 있습니다 :
List<MyBean> salesApproval=session.getNamedQuery("get_data").setInteger("id",my_id).setString("code",my_code).setString("type",my_type).list();
MyBean
클래스는 절차에 의해 반환 된 데이터를 보유하고있다.
문제 :
내가 원하는 결과 잘 작동 windows
시스템에서 내 응용 프로그램을 호스팅. 내가 Linux Ubuntu 12.04
에 내 응용 프로그램을 호스팅 할 때, 그것은 오류 다음 부여합니다
:
java.sql.SQLException: ORA-01843: not a valid month
ORA-06512: at "db.proc_pack", line 628
수 628 절차에서 언급 한 라인.
year_in'시도);' – ErrorNotFoundException
하지만 어떻게 작동합니까? –
귀하의 의견은 어쨌든 작동하지 않습니다. 그것은'선택에서 이중으로'를 요구할 것입니다. –