kab wrote: > Hi, > > I tried to directly insert a Java object from typ mottrow.MItem to the > table ITEMS in my embedded Derby DB. But I got the following error: > > java.sql.SQLException: An attempt was made to get a data value of type > 'BLOB' from a data value of type ' mottrow.MItem' > > In the query I used, I had defined the row ITEM to the typ BLOB, because > with the typ JAVA_OBJECT I got an error. In the derby documentation I > have read that the a JAVA_OBJECT is stored as BLOB in the DB, so I > defined it directly as BLOB. > > SQL query used to create table: > > String query = "create table APP.ITEMS (" + > "ID INT NOT NULL PRIMARY KEY GENERATED ALWAYS AS > IDENTITY (START WITH 1, INCREMENT BY 1)," + > "ITEM BLOB," + > "LEVEL INT NOT NULL," + > "OWNER VARCHAR(30)," + > "LASTACCESS DATE," + > "FORMERLEVEL INTEGER NOT NULL )"; > > Statement to insert my JAVA_OBJECT: > > PreparedStatement stmt = con.prepareStatement("insert into > APP.ITEMS (ITEM) VALUES (?)"); > stmt.setObject(1,item); > stmt.addBatch ( ); > > Does somebody knows a solution for this problem? Hello Kevin, I'm sure someone will give you the full story, but I believe you might have to serialize your objects yourself before you store them into the database as BLOB/VARCHAR FOR BIT DATA (depending on the maximum size of your objects, or your own preferences). Another way to go is to use the object relational mapping technique, a third is to use an object-store instead of a relational database. I think the JAVA_OBJECT type in Derby has been disabled, but could it have been available in earlier Cloudscape releases? I see comments in the code suggesting the support for JAVA_OBJECT is "half-baked", so it would be nice if someone with knowledge of earlier times could enlighten the rest of us :) regards, -- Kristian > > > Sincerely > > Kevin >