Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Lendo um BLOB usando JDBC Spring sem um conjunto de resultados


A API do JDBC Spring (DefaultLobHandler e OracleLobHandler ) exigem um ResultSet object para seus métodos relacionados ao BLOB.

Você precisa converter seu GET_IMAGE_DATA procedimento em uma função :
FUNCTION ATTACHMENT_BLOB_GET(IN_IMAGE_TYPE IN IMAGES.IMAGE_TYPE%TYPE)
RETURN SYS_REFCURSOR AS

results_cursor SYS_REFCURSOR;

BEGIN

  OPEN results_cursor FOR
     SELECT t.image_data 
       FROM IMAGES t
      WHERE t.image_type = IN_IMAGE_TYPE;

  RETURN results_cursor;

END;

Parâmetros OUT são sempre bons para algum sofrimento, especialmente BLOBs.