我正在处理存储过程。我在oracle 11g中编写了一个程序并在我的java应用程序中调用该过程。该过程返回一个字符串。这是我的程序
create or replace procedure GETNAME
(
CName out varchar2
)
is
BEGIN
select name into CName from customer where id=1;
END;
/
当我在java中调用该过程时,它会给出异常。例外情况如下
object TESTDB.GETNAME is invalid
我的java代码在下面给出
String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
String DB_URL = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String USERNAME = "system";
String PASSWORD = "metis";
try {
Class.forName(JDBC_DRIVER);
con = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
con.setAutoCommit(true);
CallableStatement cs = con.prepareCall("{call TESTDB.GETNAME(?)}");
cs.registerOutParameter(1, OracleTypes.VARCHAR);
cs.executeQuery();
System.out.println(cs.getString(1));
} catch (Exception e) {
System.out.println("not connected");
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
告诉我我在这里做的错误是什么。我会感恩....:)