[ http://issues.apache.org/jira/browse/DERBY-562?page=comments#action_12329775 ]
Holger Rehn commented on DERBY-562: ----------------------------------- Thank you for looking at the problem! To answer Rick's question - I checked against Sybase Adaptive Server Anywhere, Sybase Adaptive Server Enterprise, Microsoft SQL Server and Hypersonic SQL - just because that are the data base systems I'm currently working with. And all of them read exactly as many bytes as set by the length argument, ignoring any additional data. > Derby incorrectly throws Exception when streaming to BLOB field > --------------------------------------------------------------- > > Key: DERBY-562 > URL: http://issues.apache.org/jira/browse/DERBY-562 > Project: Derby > Type: Bug > Versions: 10.1.1.0 > Reporter: Holger Rehn > > Derby incorrectly throws an Exception when streaming to a BLOB in case the > used InputStream actually could provide more data than I want to write to the > BLOB field. > PreparedStatement statement = connection.prepareStatement( "insert into > FOO(ID,DATA) values(?, ?)" ); > statement.setLong( 1, someValue ); > statement.setBinaryStream( 2, someInputStream, amountOfData ); // > amountOfData < amount of data readable from someInputStream > statement.executeUpdate(); > executeUpdate() throws an SQLException with detail message: "Input stream > held less data than requested length.: java.io.IOException" > In my case this was first caused by writing an internal buffer (byte[]) to > the data base through a ByteArrayInputStream while not limiting the > ByteArrayInputStream to the useful data within the buffer but setting > amountOfData to the number of useful bytes. So the 2 problems are: > 1. the error text is definitly incorrect since I provide more data than > neccessary, not less > 2. in my opinion this shouldn't throw an exception at all (I checked against > 4 other DBMS, all of them worked as intended) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
