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

Posted

技术标签:

【中文标题】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 【发布时间】:2016-05-19 21:02:40 【问题描述】:

我正在尝试调用具有 2 个 IN 参数的函数并以 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();

【问题讨论】:

您可以发布您的电子邮件列表程序吗? 这里是函数,我正在调用 FUNCTION get_mail_list (p_sys IN NUMBER, p_list_type IN VARCHAR2) RETURN CLOB;这一个将这些值用于 p_list_type 参数:'EMAIL''PHONE''MAIL' 我无法运行这行代码 callableStatement.executeQuery();出现上述错误 【参考方案1】:

你试过了吗:

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

【讨论】:

以上是关于ORA-06550:第 1 行,第 13 列:PLS-00382:表达式类型错误 ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略的主要内容,如果未能解决你的问题,请参考以下文章

ORA-06550:第 1 行,第 7 列:PLS-00201:必须声明标识符“PAYMENT_UPDATE” ORA-06550:第 1 行,第 7 列:PL/SQL:语句被忽略

ORA-06550:第 13 行,第 4 列:PLS-00103:遇到“UPDATE” ORA-06550:第 15 行,第 3 列:PLS-00103:遇到符号“END”

ORA-06550 第 10 行,第 41 列:PLS-00103:在预期以下情况之一时遇到符号“,”:

必须声明组件错误 (ORA-06550)

ORA-06550:第5行,第16列:PLS-00103:当遇到以下情况之一时遇到符号“SELECT”:[重复]

ORA-06550: 错误的参数数量或类型