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:在预期以下情况之一时遇到符号“,”: