出力パラメータとして 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 に相当する DATA TYPE を教えてください。
ありがとうございました !!