I have a Java program that creates a number of xml file and then zips them up and saves them to the file system. Later in the program I want to put that same zip file into a blob column of my oracle database. Problem is I'm not sure how to do that. I don't need to read it or do anything with the data, just move it to the database for persistent, central storage.
Thanks!
There are several ways you can do this, but
PreparedStatement.setBinaryStream
is probably the best way.(Note that for simplicity I didn't include any of the necessary try/catch stuff for closing the
Connection
,PreparedStatement
andInputStream
, but you would need to do that.)Done this way, the data will be streamed from the file to the database without having to be loaded in to memory all at once.
I think you're looking to use the
setBytes()
method :So an example for a table representing e-mails where the body is a stream of bytes would look like:
I'm assuming you can easily convert call
getBytes()
for your Zipped XML object.