JAVA调用SQL存储过程报错

2025-05-13 19:57:30
推荐回答(5个)
回答1:

最大的可能是程序连接数据库有问题,你可以做个简单的测试页面,执行一句sql试试。

回答2:

楼主 你用的 sql 2000 驱动包可能有问题 是到网上下载一新包 jtds 包试试

回答3:

CallableStatement proc = conn.prepareCall("{ call TESTPROCESS() }");
错误,调用无参存储过程不能带();

回答4:

查了下资料,好像返回结果集的是可以这么搞。
oracle里面procedure是没有这种形式的。
CallableStatememt cstmt = con.prepareCall("{call myProcedure}");
ResultSet rs = cstmt.executeQuery();
// if myProcedure returns a result set
int n = cstmt.executeUpdate();
// if myProcedure is an update or DDL statement
我自己测了一下,好像可以。
create or replace procedure TESTPROCESS1 as
type_cur SYS_REFCURSOR;
begin
open type_cur for select * from test where rownum = 1;
return;
end;
java_code:
CallableStatement cstmt = con.prepareCall("{ call TESTPROCESS1 }");
ResultSet rs = cstmt.executeQuery();

回答5:

语法错误最好用debug跟踪调试