1

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

Java代码(工作正常):

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

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

常规代码:

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 的等效数据类型。

谢谢 !!

4

0 回答 0