jdbc报的一个Exception in thread "main" java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列:
importjava.sql.*;publicclassTestProc{publicstaticvoidmain(Stringargs[])throwsExceptio...
import java.sql.*;
public class TestProc {
public static void main(String args[]) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
//new oracle.jdbc.driver.OracleDriver();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","zwb123");
CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
//cstmt.setInt(3, 6);
cstmt.setInt(4, 5);
cstmt.execute();
System.out.println(cstmt.getInt(3));
System.out.println(cstmt.getInt(4));
cstmt.close();
conn.close();
}
}
Exception in thread "main" java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'P' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:到底哪里不对了 展开
public class TestProc {
public static void main(String args[]) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
//new oracle.jdbc.driver.OracleDriver();
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","zwb123");
CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
//cstmt.setInt(3, 6);
cstmt.setInt(4, 5);
cstmt.execute();
System.out.println(cstmt.getInt(3));
System.out.println(cstmt.getInt(4));
cstmt.close();
conn.close();
}
}
Exception in thread "main" java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列:
PLS-00306: 调用 'P' 时参数个数或类型错误
ORA-06550: 第 1 行, 第 7 列:到底哪里不对了 展开
4个回答
展开全部
把你的 存储过程代码贴出来看看啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过程是4个参数,但是你只设置了3个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存储过程拿出来看看了!拿出来给你测试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那要看你的P存储过程是如何写的了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询