Когда я пытаюсь выполнить процедуру в самом Oracle, она отлично работает. Но когда я вызываю ту же процедуру из java, я получаю PLS-00201. Пожалуйста, дайте мне знать, если есть какая-либо ошибка.PLS-00201 при вызове выполнения PLSQL из java
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'PR_REJECT_FILE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
Вот мой вызов процедуры:
CallableStatement cs=null;
try
{
cs = this.dteConn.prepareCall("{ call PR_REJECT_FILE (?,?,?) }");
cs.setString(1,status);
cs.setInt(2, fileid);
cs.setString(3,t_id);
cs.execute();
}
catch (Exception e)
{
e.printStackTrace();
}
проверить, имеет ли пользователь разрешение на эту БД – Balakumar
. Сначала проверьте, владеет ли пользователь этой процедурой. Если не проверить, есть ли у пользователя разрешение на выполнение процедуры. И третий проверьте, существует ли в процедуре общедоступный синоним, иначе вы должны называть его SCHEMA_NAME.PR_REJECT_FILE, где имя_схемы - это пользователь, которому это принадлежит. – Mottor