Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

When to use setBytes() and setBinaryStream()  RSS feed

 
Amol Desai
Ranch Hand
Posts: 82
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I am using oracle thin driver to insert a image (blob type) into database.
Which method of PreparedStatement interface should I use to insert data,
setBytes() or SetBinaryStream().
My understanding is BinaryStream also sends data in form of bytes.
Then what is the difference between these two method ?
Please let me know.
Thanks,
-Amol
[ September 01, 2003: Message edited by: Amol Desai ]
 
Dana Hanna
Ranch Hand
Posts: 227
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you can use the setBinaryStream, do so. It will use memory buffering to read the stream and send a block at a time to the server. This is especially important if the binary data is extremely large. However, if you are holding a reference to the entire block of bytes in memory already, then use setBytes. Get it?
Ex - if you are reading the image data from the network, or from a file, than use setBinaryStream. If you have a byte array because you already read the stream, use setBytes. However, I'd strongly suggest finding a way to "read on demand" if the files are large.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!