then I tried to change it to a BLOB, inserting byte[]

and I've got

Exception in thread "main" org.apache.derby.client.am.SqlException: A
truncation error was encountered trying to shrink BLOB 'XX-RESOLVE-XX'
to length 1048576.
        at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
        at 
org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown
Source)
        at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown 
Source)
        at org.apache.derby.client.net.StatementReply.readExecute(Unknown 
Source)
        at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown
Source)
        at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
        at 
org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)


any ideas?

[]

Kenji

On 7/4/06, Leonardo Kenji Shikida <[EMAIL PROTECTED]> wrote:
I am trying to store a zipped string into a CLOB column, just like this

String compressedMatrix = ZipUtils.compress(matrix.getBuffer().toString());
pstmt.setString(2,compressedMatrix);

where ZipUtils is

        public static String compress(String is) throws Exception{
                 ByteArrayInputStream bais = new 
ByteArrayInputStream(is.getBytes());
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
                 compress(baos,bais);
                 byte[] xx = baos.toByteArray();
                 return new String(xx);
        }
        public static void compress(OutputStream os, InputStream is) throws 
Exception{
                byte[] buf = new byte[1024];
        ZipOutputStream out = new ZipOutputStream(os);
        out.putNextEntry(new ZipEntry("compressed"));
        int len;
        while ((len = is.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        out.close();
        is.close();
        out.close();
        }

but I am getting this exception

Exception in thread "main" org.apache.derby.client.am.SqlException: A
truncation error was encountered trying to shrink CLOB 'PK' to
length

        at org.apache.derby.client.am.Statement.completeExecute(Unknown Source)
        at 
org.apache.derby.client.net.NetStatementReply.parseEXCSQLSTTreply(Unknown
Source)
        at org.apache.derby.client.net.NetStatementReply.readExecute(Unknown 
Source)
        at org.apache.derby.client.net.StatementReply.readExecute(Unknown 
Source)
        at org.apache.derby.client.net.NetPreparedStatement.readExecute_(Unknown
Source)
        at org.apache.derby.client.am.PreparedStatement.readExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.flowExecute(Unknown 
Source)
        at org.apache.derby.client.am.PreparedStatement.executeX(Unknown Source)
        at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)

I suppose that I don't have to specify charsets because it's assuming
it's the default one (UTF-8)

Any ideas? Invalid chars? In a CLOB column?

[]

Kenji
_______________________
http://kenjiria.blogspot.com
http://gaitabh.blogspot.com



--

[]

Kenji
_______________________
http://kenjiria.blogspot.com
http://gaitabh.blogspot.com

Reply via email to