• Post Reply Bookmark Topic Watch Topic
  • New Topic

ArrayIndexOutOfBoundsException when saving Serializable  RSS feed

T Bush
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm getting a com.inet.tds.SQLException: java.lang.ArrayIndexOutOfBoundsException
when I'm attempting to persist my object as an array of bytes to a SQL Server db. The column that holds the object is of datatype image. Anyone know why I'm getting the exception?
here's my code.
how I make it a byte array
private byte[] serializeUserPreference(UserPreference obj) {
byte[] result = new byte[BYTE_MAX];
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
result = baos.toByteArray();
catch(Exception e) {
return result;

and how I persist...
Connection myConn = aTransaction.getConnection();
StringBuffer myBuffer = new StringBuffer();
byte[] myBuf = serializeUserPreference(myUp);
myBuffer.append("update ")
.append(" set ")
.append("= ? ")
.append(" where ")
.append(" = ?");
PreparedStatement ps = myConn.prepareStatement(myBuffer.toString());
ps.setBytes(1, myBuf);
ps.setLong(2, myUp.getKey());

where the constants are correct for column and table names
[This message has been edited by T Bush (edited February 07, 2001).]
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!