我在调用存储过程时遇到Groovy SQL问题,该过程返回OracleTypes.ARRAY作为输出参数。
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的等效数据类型。
谢谢!