【发布时间】:2017-02-17 15:21:35
【问题描述】:
当我尝试在 Oracle 本身中执行该过程时,它工作正常。但是当我从 java 调用相同的过程时,我得到了 PLS-00201 。如果有任何错误,请告诉我。
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();
}
【问题讨论】:
-
检查用户是否对该数据库有权限
-
首先检查用户是否拥有这个过程。如果没有,请检查用户是否对该过程执行了授权。第三检查过程中是否有公共同义词,否则应将其命名为 SCHEMA_NAME.PR_REJECT_FILE ,其中 schema_name 是拥有它的用户。
标签: java oracle stored-procedures