try {
conn = (new Connect()).getConnect();

cs = conn.prepareCall(Procedure.logIn);----在这里报错
//System.out.println("cs");
cs.setString(1, user);
cs.registerOutParameter(2, Types.VARCHAR);
cs.registerOutParameter(3, Types.VARCHAR);
cs.registerOutParameter(4, Types.VARCHAR);
cs.execute();错误:Caught : java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: 
PLS-00201: 必须声明标识符 'BIT_VERIFICATION_PROCE'
ORA-06550: 第 1 行, 第 7 列: 
PL/SQL: Statement ignored存储过程如下:
CREATE OR REPLACE PROCEDURE BIT_VERIFICATION_PROCE
(
  P_USER_ID IN BIT_USER_TABLE.USER_ID%TYPE ,    --用户ID
  P_USER_NAME OUT BIT_USER_TABLE.USER_NAME%TYPE,
  P_USER_PASSWORD OUT BIT_USER_TABLE.USER_PASSWORD%TYPE,   --用户密码
  P_USER_ROLE OUT BIT_USER_TABLE.USER_ROLE%TYPE
)
IS
BEGIN  SELECT USER_NAME,USER_PASSWORD,USER_ROLE INTO P_USER_NAME,P_USER_PASSWORD,P_USER_ROLE
  FROM BIT_USER_TABLE
  WHERE USER_ID = P_USER_ID ;  EXCEPTION   --抛出异常
    WHEN OTHERS THEN
     DBMS_OUTPUT.PUT_LINE(SQLCODE || ',' || SQLERRM) ;END ;存储过程测试可以运行,在程序中调用报错,已经为用户赋予dba权限。求大神指教。JavaOracle存储过程

解决方案 »

  1.   

    java部分贴的代码太少,Procedure.logIn哪儿来的
      

  2.   

    Procedure.logIn  什么意思??
      

  3.   

    你java代码里连接的数据库的schema中没有这个procedure或者这个procedure编译不成功
      

  4.   

    错误:Caught : java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列: 
    PLS-00201: 必须声明标识符 'BIT_VERIFICATION_PROCE'
    ORA-06550: 第 1 行, 第 7 列: 
    PL/SQL: Statement ignored这个错误告诉你找不到存储过程呢?
    确定程序掉到这个存储过程了么!
    是不是名字写错了!