Дата прохождения в качестве параметра в хранимой процедуре (Oracle)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Дата прохождения в качестве параметра в хранимой процедуре (Oracle)

Сообщение Anonymous »

Я пытаюсь выполнить операцию вставки из Hibernate в таблицу Oracle.
моя хранящаяся процедура:-< /p>

create or replace PROCEDURE ADMSN_TABLE (
P_ID NUMBER,
P_ADMISSIONFOR VARCHAR2,
P_SUBMISSIONDATE DATE, --NOT NULL
P_SUBMISSIONLASTDATE DATE --NOT NULL

)
IS
v_sno number;

BEGIN
INSERT INTO ORACLE.ADMISSION(AMSNID,ADMISSIONFOR,SUBMISSIONDATE,
SUBMISSIONLASTDATE)
VALUES (P_ID,P_ADMISSIONFOR,P_SUBMISSIONDATE,P_SUBMISSIONLASTDATE);

COMMIT;
END;
< /code>

Как я называю эту процедуру из Hibernate:-< /p>

public void callProc(){

Date utilDate= new Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println(sqlDate);

Date date = new Date();
SimpleDateFormat smd = new SimpleDateFormat("dd-MMM-YYYY");
String sdate = smd.format(date);
System.out.println(sdate);

try {
session = sessionFactory.openSession();
transaction = session.beginTransaction();
StoredProcedureQuery query = session.createStoredProcedureQuery("ADMSN_TABLE");
query.registerStoredProcedureParameter("P_ID", Number.class,
ParameterMode.IN);
query.registerStoredProcedureParameter("P_ADMISSIONFOR", String.class,
ParameterMode.IN);
query.registerStoredProcedureParameter("P_SUBMISSIONDATE", Date.class,
ParameterMode.IN);
query.registerStoredProcedureParameter("P_SUBMISSIONLASTDATE",Date.class,
ParameterMode.IN);

query.setParameter("P_ID", 1);
query.setParameter("P_ADMISSIONFOR", "schoolfee");
query.setParameter("P_SUBMISSIONDATE", sqlDate);
query.setParameter("P_SUBMISSIONLASTDATE", sqlDate);
query.execute();
System.out.println("excuted");
}catch(Exception ex){
ex.printStackTrace();
}
}
}


Теперь я попытался передать параметр даты как New Date () или sqladate , как приведено выше. и Query.setParameter ("p_submissionLastDate", sqladate, themeraltype.date); < /code> Но все они бросают ошибку:- < /p>

Caused by: org.hibernate.exception.SQLGrammarException:
Error calling CallableStatement.getMoreResults at
org.hibernate.exception.internal.SQLStateConversionDelegate.convert
(SQLStateConversionDelegate.java:106) at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert
(StandardSQLExceptionConverter.java:42) at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert
(SqlExceptionHelper.java:111)
at org.hibernate.result.internal.OutputsImpl.convert
at org.hibernate.result.internal.OutputsImpl.
(OutputsImpl.java:55)
at org.hibernate.procedure.internal.ProcedureOutputsImpl.
(ProcedureOutputsImpl.java:32)
at org.hibernate.procedure.internal.ProcedureCallImpl.buildOutputs
(ProcedureCallImpl.java:453)
at org.hibernate.procedure.internal.ProcedureCallImpl.getOutputs
(ProcedureCallImpl.java:404)
at org .hibernate.procedure.internal.ProcedureCallImpl.outputs
(ProcedureCallImpl.java:663)
at org.hibernate.procedure.internal.ProcedureCallImpl.execute
(ProcedureCallImpl.java:646)
... 41 more
Caused by: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'ADMSN_TABLE'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored


Подробнее здесь: https://stackoverflow.com/questions/451 ... ure-oracle
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»