aspose file tools*
The moose likes JDBC and the fly likes using setBlob() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "using setBlob()" Watch "using setBlob()" New topic
Author

using setBlob()

prakash chauhan
Ranch Hand

Joined: Jun 22, 2007
Posts: 81
Hi i have a question.
I have got a table with Data Type BLOB in mysql database

i have a jsp page with <html:file > input and that gives me the
FormFile object in my ActionForm using which i can get the InputStream Object , but i can't figure out how to save it to the the table using setBlob on my prepared Statement.
i was thinking about calling setBinary() on my prepared statement but it needs a third argument the length of the data and thats where i am getting stuck

-thanks.
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31054
    
162

Prakash,
I recommend not using the setBlob function due to the difficulty you described with creating a Blob. Instead, I would use setBinaryStream(). There is a version of the method that only takes two parameters, so you don't need the length.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19781
    
  20

That method has only been introduced in Java 1.6, so many drivers don't support it yet. You'd also have to upgrade to Java EE 5 to be compatible.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
prakash chauhan
Ranch Hand

Joined: Jun 22, 2007
Posts: 81
Thanks for the help.
well i am using 1.5
but some how i was able to use setBinaryStream().
What i did was like this. I got FormFile object from my Action Form
from FormFile i got InputStream and a lenght property
Then i used


the problem i am facing now is using the above mentioned code i am able to save a .jpeg file to my database (which is of type Blob) however when i try to save an audio file (.mp3, or .wmv) i get the error message that
the "query exceeded the max_allowed_packets " i am using MySQL as my Database server.

is it something(some variable) i need to set somewhere in my MySQL server?
-Thanks.
[ November 20, 2007: Message edited by: prakash chauhan ]
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31054
    
162

Thank you Rob. I hadn't noticed that I was looking at the latest version of the API. I had used the version of the API that does take a length and was just trying to verify the parameters.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: using setBlob()