【发布时间】:2021-01-18 05:26:15
【问题描述】:
创建 BLOB 并将其传递给过程的代码:
override fun saveImage(pdByteArray: ByteArray?, imageFormat: String): Long {
val blob = dataSource.connection.createBlob()
blob.setBytes(1, pdByteArray)
val parameters = hashMapOf(
"p_image_data" to blob,
"p_image_format" to imageFormat
)
val out = saveImageFileCall.execute(parameters)
return ((out["p_file_id"] ?: 0) as BigDecimal).toLong()
}
Oracle 程序:
PROCEDURE save_image(p_file_id OUT VARCHAR2,
p_image_data IN BLOB,
p_image_format IN VARCHAR2)
IS
BEGIN
INSERT INTO images (image_id, image_data, image_format)
VALUES (images_seq.nextval, p_image_data, p_image_format)
RETURNING image_id INTO p_file_id;
END;
结果是 ORA-22922。将不胜感激。
【问题讨论】:
标签: java oracle kotlin stored-procedures