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 Oracle 存储过程
[解决办法]
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 列:
PL/SQL: Statement ignored
这个错误告诉你找不到存储过程呢?
确定程序掉到这个存储过程了么!
是不是名字写错了!
[解决办法]
自己写的类内部可能有问题,调试一下应该就能找到原因了