java - Uploading Large Text File Into A DB2 CLOB Field -


alrighty, i've been banging head against wall on 1 while, here goes...

i'm writing java (1.5) program can upload large (200mb+) text files db2 clob column, have been running few issues.

during research, several code examples suggested use preparedstatement method setcharacterstream() upload data clob field, giving me this:

 preparedstatement preparedstatement =         connection.preparestatement("insert bookcovers values(?,?)");  file imagefile = new file("c:\\redbookcover.jpg");  inputstream inputstream = new fileinputstream(imagefile);  preparedstatement.setstring(1," 0738425826");  preparedstatement.setbinarystream(2,inputstream,(int)(imagefile.length()));  preparedstatement.executeupdate();  

this fine, except fact setcharacterstream() method requires length value, specifying number of characters write field. in mind, limits number of characters can written clob field integer.max_value. doing little math, limit size of text file can upload 524288 bytes, or half of megabyte. since clob field can store 2gb of data, i'm bit confused.

i see in java 1.6 preparedstatement's setcharacterstream() method has been modified not require length, , read until end-of-file encountered. unfortunately, i'm required use java 1.5, not valid option.

in 1 last bit of research, read java 1.5's preparedstatement has similar functionality, javadoc claiming:

"...it may more practical send via java.io.reader object. data read stream needed until end-of-file reached."

if exists, why setcharacterstream() method still require length parameter? pass in length parameter use functionality? there better way i'm missing?

any thoughts?

as noted, 1.5 spec setcharacterstream ambiguous whether reads end-of-file or until length reached.

sets designated parameter given reader object, given number of characters long. when large unicode value input longvarchar parameter, may more practical send via java.io.reader object. data read stream needed until end-of-file reached. jdbc driver necessary conversion unicode database char format.

it may work want if pass integer.max_value length parameter. try , see happens.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -