Groovy - 返回OracleTypes.ARRAY的存储过程

时间:2015-10-07 20:24:03

标签: groovy-sql

我在调用存储过程时遇到Groovy SQL问题,该过程返回OracleTypes.ARRAY作为输出参数。

Java代码(正常工作):

callableStatement.registerOutParameter(37, OracleTypes.ARRAY, DEVICE_RAW_DATA_ARRAY);

OracleTypes.ARRAY registerOutParameter是在JDBC(callableStatement)中配置的,它运行正常。  从Groovy SQL调用相同的存储过程,我得到以下异常" java.sql.SQLException:ORA-03115:不支持的网络数据类型或表示"

Groovy代码:

import groovy.sql.Sql

def sqlStr = "{call prometheus.PKG_Device_FP_TLDID.SP_Save_Device_FP_Get_TLDID(?,?,?,?,?,?)}"

def params = [  ID_IN,
        Request_ID_IN,  
        Session_ID_IN,      
        Sql.NUMERIC, 
            Sql.VARCHAR, 
            Sql.ARRAY   // ARRAY Type output parameter -- Here I am getting Exception "java.sql.SQLException: ORA-03115: unsupported network datatype or representation" //

]

我尝试了不同的数据类型,如Sql.ARRAY // OracleTypes.ARRAY // Sql.OracleTypes.ARRAY和其他类型。

请您在Groovy SQL中为我建议OracleTypes.ARRAY的等效数据类型。

谢谢!

0 个答案:

没有答案