ORA-06550:第 1 行,第 13 列:PLS-00382:表达式类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略

ORA-06550: line 1, column 13: PLS-00382: expression is of wrong type ORA-06550: line 1, column 7: PL/SQL: Statement ignored

我正在尝试使用 2 个 IN 参数和 return 作为 CLOB 调用一个函数。有问题。我得到的表达式是错误的类型 ORA-06550: 。让我知道这段代码有什么问题

 Class.forName("oracle.jdbc.OracleDriver").newInstance();
       String connectionURL = "someurl";



    // Class.forName("com.mysql.jdbc.Driver").newInstance();

     // con=DriverManager.getConnection(connectionURL,"root","root"); 
      con = DriverManager.getConnection(connectionURL);
      callableStatement = con.prepareCall(getmaillist);
      callableStatement.setInt(1, 8498);
      callableStatement.setString(2,"EMAIL");
      out.println("i am at 1");
      callableStatement.registerOutParameter(3,Types.CLOB);
      out.println("i am at 1");
      //callableStatement.setClob(3,clob);
      //callableStatement.registerOutParameter(3, oracle.jdbc.OracleTypes.CURSOR);
      callableStatement.executeQuery();
      out.println("i am at 1");
      rst = (ResultSet) callableStatement.getObject(3);
      out.println("i am at 1");
     // stmt=con.createStatement();

你试过了吗:

ResultSet rs1 = con.createStatement().executeQuery("select get_mail_list(8498,'EMAIL') from dual");
String strRes = rs1.getString(1);