Salve a tutti,
sto creando un'applicazione in Java usando le librerie grafiche SWT.

Devo inserire (ed estrarre poi) un'immagine in un campo della tabella di un DB access in formato Oggetto OLE.

Per l'inserimento uso la seguente routine:

codice:
File file = new File("c:\\test.png");
FileInputStream fs = new FileInputStream(file);	
PreparedStatement ps = connessione.prepareStatement
("UPDATE Anagrafica SET Foto = '?' where Cartella = 1;");
ps.setBinaryStream(1, fs, (int) file.length());
ps.execute();
ps.close();
mentre per il recupero:

codice:
 
InputStream stream = rs.getBinaryStream("Immagine");
ByteArrayOutputStream output = new ByteArrayOutputStream();
int a1 = stream.read();
while (a1 >= 0) {
		output.write((char) a1);
		a1 = stream.read();
}
java.awt.Image myImage = Toolkit.getDefaultToolkit().createImage(output.toByteArray());
Ma appare un quadrato nero.
Dove sbaglio? Secondo me devo cambiare l'inserimento...

Voi avete qualche idea?

Grazie mille.
Umbs.