我在甲骨文里有个程序看起来是这样的。
PROCEDURE p_main_xml (p_term IN VARCHAR2
, p_crn IN VARCHAR2 DEFAULT NULL
, p_pin IN VARCHAR2 DEFAULT NULL
, p_hash IN VARCHAR2 DEFAULT NULL
, p_updated IN VARCHAR2 DEFAULT NULL
, p_xml_clob OUT xmltype)我试图从grails应用程序中调用它并获取XML。其结果约为8兆克。
我的电话看起来像这样。
sql.call '{call cl_sectiondownload_pk.p_main_xml(?,?,?,?,?,?)}', [termCode, crn, pin, hash, updated, java.sql.Types.SQLXML], { p_xml_clob ->
//println "this is my sql: " + p_json
xmlOut = p_xml_clob
}我从Oracle那里得到了这个错误。
调用“P_MAIN_XML”中的参数数目或类型错误
详细信息:
发布于 2021-08-18 02:54:49
oracle中的XML是非常特定的对象。
不幸的是,现在还没有甲骨文,但是像这样的东西应该能起作用
sql.call('''
DECLARE
x XMLTYPE;
BEGIN
cl_sectiondownload_pk.p_main_xml(?,?,?,?,?,x);
?:=x.getCLOBVal();
END;
''', [.., sql.VARCHAR]){x-> ... }也许用sql.VARCHAR代替sql.CLOB
假设sql是groovy.sql.Sql的一个实例
https://stackoverflow.com/questions/68821818
复制相似问题