--- old/Value.java 2002-04-04 11:32:18.000000000 +0200 +++ new/Value.java 2003-06-03 15:59:45.000000000 +0200 @@ -170,6 +170,11 @@ valueObject = null; break; + case Types.BLOB: + Blob blob = rs.getBlob(columnNumber); + valueObject = blob.getBytes(1, (int) blob.length()); + break; + default: valueObject = rs.getString (columnNumber); break; @@ -257,7 +262,13 @@ case Types.LONGVARBINARY: case Types.VARBINARY: case Types.BINARY: - stmt.setBytes (stmtNumber, this.asBytes()); + case Types.BLOB: + // stmt.setBytes (stmtNumber, this.asBytes()); + // patch to get around ORA-01483: invalid + // length for DATE or NUMBER bind variable + // occuring when binary value exceeds 4K + byte[] value = this.asBytes(); + stmt.setBinaryStream(stmtNumber, new java.io.ByteArrayInputStream(value), value.length); break; case Types.LONGVARCHAR: