[B
- это "класс" байтового массива:
user=> (type (byte-array 0))
[B
Так что в вашем коде есть место, которое ожидает байтовый массив, но ему дается экземпляр oracle.sql.Blob
.Я держу пари, что :my_blob
дает вам Blob
;когда вы передаете byte-buffer
(то есть Blob
) в конструктор ByteArrayInputStream
, вы получаете исключение.
Просмотрите javadoc для oracle.sql.Blob
, чтобы увидеть, как извлечь байтовый массив или вводпоток из него.