Data-Base
Data-Base

Reputation: 8598

Oracle Database BLOB to InputStream in Java?

I made a Java function that takes an InputStream as an input. I have a oracle.sql.BLOB instance to pass to that function. How can I convert it to a InputStream?

Do I need to re-write my function using a BLOB parameter, instead?

Upvotes: 4

Views: 27665

Answers (2)

Adam Paynter
Adam Paynter

Reputation: 46888

Declare your Java parameter of type oracle.sql.BLOB as per the "Mapping Datatypes" documentation. Then, you call getBinaryStream() on that BLOB object to obtain your InputStream.

Upvotes: 6

Jon Skeet
Jon Skeet

Reputation: 1499870

You haven't really said how you're fetching data from the database, but you can use ResultSet.getBinaryStream() to get an InputStream, or call getBlob() to get a Blob, and then getBinaryStream() on the Blob to get a stream.

Upvotes: 7

Related Questions