db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kathey Marsden <kmarsdende...@sbcglobal.net>
Subject Re: PreparedStatement problem with big BLOBS
Date Fri, 21 Sep 2007 23:44:51 GMT
Mikael wrote:

>
>     ps.setBinaryStream( 1, is, data.length);
[snip rest of the program]

A workaround seems to be to use ps.setBinaryStream without the length 
parameter.
ps.setBinaryStream( 1, is);

Here is the old error output  at revision 438478 before SSL was added 
which was more helpful: (I don't know if maybe we have an issue with the 
message we are getting with protocol errors in 10.3)

[C:/kmarsden/repro/bigblob] java TestBlob
Exception in thread "main" java.sql.SQLException: Network protocol 
error: end of stream prematurely reached, parameter #
1.  Remaining data has been padded with 0x0.
        at 
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:46)
        at 
org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:345)
        at 
org.apache.derby.client.am.PreparedStatement.executeUpdate(PreparedStatement.java:389)
        at TestBlob.main(TestBlob.java:28)
Caused by: org.apache.derby.client.am.SqlException: Network protocol 
error: end of stream prematurely reached, parameter
 #1.  Remaining data has been padded with 0x0.
        at 
org.apache.derby.client.net.Request.writePlainScalarStream(Request.java:467)
        at 
org.apache.derby.client.net.Request.writeScalarStream(Request.java:242)
        at 
org.apache.derby.client.net.NetStatementRequest.buildEXTDTA(NetStatementRequest.java:855)
        at 
org.apache.derby.client.net.NetStatementRequest.writeExecute(NetStatementRequest.java:145)
        at 
org.apache.derby.client.net.NetPreparedStatement.writeExecute_(NetPreparedStatement.java:172)
        at 
org.apache.derby.client.am.PreparedStatement.writeExecute(PreparedStatement.java:1557)
        at 
org.apache.derby.client.am.PreparedStatement.flowExecute(PreparedStatement.java:1803)
        at 
org.apache.derby.client.am.PreparedStatement.executeUpdateX(PreparedStatement.java:394)
        at 
org.apache.derby.client.am.PreparedStatement.executeUpdate(PreparedStatement.java:380)
        ... 1 more

This sounds kind of similar to DERBY-2017, but in this case the length 
is actually correct so I think this is a separate issue.

Kathey



Mime
View raw message