저는 간단해야한다고 생각하는 작업을 담당하고 있지만, 전에는 해본 적이 없어서 문제가 있습니다. EclipseLink를 사용하여 EJB 3 프로젝트를 성공적으로 만들었습니다.이 프로젝트는 Oracle 데이터베이스에서 여러 저장 프로 시저를 호출합니다. 데이터 소스를 올바로 구성 했으므로 매개 변수없이 커서를 반환하는 간단한 저장 프로 시저 및 함수를 연결하고 실행할 수 있습니다. 그러나 현재 매개 변수가있는 저장 프로 시저를 실행할 수 없습니다.EclipseLink - 오라클 저장 프로 시저 호출 초보자 문제
EclipseLink 위키를 참조 번호 http://wiki.eclipse.org/Using_Basic_Query_API_(ELUG으로 사용하고 있습니다.
코드는 다음과 같습니다 나는 데이터베이스 자체에 액세스 할 수 없기 때문에
데이터베이스 문서를 기반으로StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("p_environment.startSession");
List<String[]> args = new ArrayList<String[]>();
args.add(new String[] { "user", "ae01403" });
args.add(new String[] { "application", "app_code" });
args.add(new String[] { "locale", "it_IT" });
for (String[] pair : args) {
call.addNamedArgumentValue(pair[0], pair[1]);
}
DataReadQuery query = new DataReadQuery(call);
for (String[] pair : args) {
query.addArgument(pair[0]);
}
, 절차는 지정된 이름의 매개 변수 3 VARCHAR 걸립니다. 그런 다음 활성 세션에서 executeQuery 메서드를 호출하지만 "잘못된 형식 또는 인수 개수"오류가 발생합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 어떤 도움을 주셔서 감사합니다.
편집 : 저장 프로 시저 서명, 문서에 따라입니다 :
p_environment.startSession(as_user IN VARCHAR2,
as_application IN VARCHAR2,
as_locale IN VARCHAR2);
많은 감사합니다!
더 정확한 내 게시물을 편집 :
그런 다음 호출하여 저장 프로 시저 :
당신이 계속 대답 :) – LaGrandMere