PL / SQL过程错误对象TESTDB.GETNAME无效

时间:2016-04-06 07:04:33

标签: java oracle stored-procedures plsql

我正在处理存储过程。我在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();
        }
    }

告诉我我在这里做的错误是什么。我会感恩....:)

0 个答案:

没有答案