db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikael Aronsson (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-3085) Fails to handle BLOB fields with a PreparedStatement with size >32750 bytes
Date Sat, 22 Sep 2007 19:46:50 GMT
Fails to handle BLOB fields with a PreparedStatement with size >32750 bytes

                 Key: DERBY-3085
                 URL: https://issues.apache.org/jira/browse/DERBY-3085
             Project: Derby
          Issue Type: Bug
          Components: JDBC, Network Client
    Affects Versions:,,
         Environment: Windows XP SP2
            Reporter: Mikael Aronsson

Java Version:    1.6.0_02
Java Vendor:     Sun Microsystems Inc.
Java home:       C:\Program Files\Java\jre1.6.0_02
Java classpath:  derbytools.jar
OS name:         Windows XP
OS architecture: x86
OS version:      5.1
Java user name:  Ma
Java user home:  C:\Documents and Settings\ma
Java user dir:   c:\tools\derby\lib
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[C:\tools\derby\lib\derbytools.jar] - (561794)

The following code fails:
    // Data is a byte[] vector
    ByteArrayInputStream is = new ByteArrayInputStream( data);    
    String sql = "UPDATE MyTable SET FContents=? WHERE FName='" + name + "'";
    PreparedStatement ps = conn.prepareStatement( sql);
    ps.setBinaryStream( 1, is, data.length);
    if( ps.executeUpdate() == 0)
        // it throws an exception here if the data array us larger then around 32750 bytes!!!

It look's like when the size of the data[] vector is > 32750 bytes or so it throws an exception
like this:
java.sql.SQLException: A network protocol error was encountered and the connection has been
terminated: A PROTOCOL Data Stream Syntax Error was detected.  Reason: 0x0. Plaintext connection
attempt to an SSL enabled server?
        at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
        at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.executeUpdate(Unknown Source)

The table is defined as:
    CREATE TABLE MyTable (FName varchar(300) NOT NULL,FContents BLOB(16M) NOT NULL)

It does loook like this only happens with the NetWork client driver, the embedded driver works

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message