Andreas Joseph Krogh wrote on 19.01.2014 14:14:
> $subject
> It'd be nice to be able to do:
> val b = con.createBlob()
> val os = b.setBinaryStream(1)
> IOUtils.copyLarge(is, os, new Array[Byte](1024 * 1024))
> Is there a work-around for it?
Using PreparedStatement.setBinaryStream() works without problems.
You don't even need the intermediate Blob instance:
PreparedStatement pstmt = con.createStatement("....");
pstmt.setBinaryStream(1, is);
or
pstmt.setBinaryStream(1, is, length); // if the length is known
I'm using JPA and need to be able to set a (new) Blob as a field, like this:
val b = con.createBlob()
val os = b.setBinaryStream(1)
IOUtils.copyLarge(is, os, new Array[Byte](1024 * 1024))
myEntity.setData(b)
Where MyEntity has a field "data" which is of type "Blob"
--
Andreas Joseph Krogh <andreak@officenet.no> mob: +47 909 56 963
Senior Software Developer / CTO - OfficeNet AS - http://www.officenet.no
Public key: http://home.officenet.no/~andreak/public_key.asc