java调用oracle存储过程报错
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权限。求大神指教。
------解决方案--------------------java部分贴的代码太少,Procedure.logIn哪儿来的
------解决方案--------------------Procedure.logIn 什么意思??
------解决方案--------------------你java代码里连接的数据库的schema中没有这个procedure或者这个procedure编译不成功
------解决方案--------------------错误:Caught : java.sql.
SQLException: ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'BIT_VERIFICATION_PROCE'
ORA-06550: 第 1 行, 第 7 列: