Bonjour,
J'ai d�j� eu l'occasion d'utiliser les BLOB oracle pour stocker des
images. Voici la m�thode que j'ai utilis�e, qui ne m'a jamais pos� de
probl�mes :
ResultSet result = stmt.executeQuery(_requeteSQL);
result.next();
blob = ((OracleResultSet) result).getBLOB(1);
byte[] img = new byte[(int) blob.length()];
long lon = 0;
InputStream in = blob.getBinaryStream();
lon = in.read(img);
in.close();
C'est la m�thode donn�e en exemple avec la doc Oracle (mais il faut
la retrouver dans ce fouillis).
St�phan BERNARD
Message d'origine, de slayer, le Lundi 6 Mai 2002 10:04 :
> bonjour la liste
>
> Mon probl�me est le suivant.
>
> Je stocke dans un BLOB des fichiers que je met en telechargement
> sur un site
> via des actions control�es par une servlet. Lorsque je veux
> r�cuperer le contenu de mon BLOB, je ne recup�re qu'un nombre de
> byte multiple de la taille du buffer Oracle. Le buffer etant de
> 32ko, pour un fichier de 70ko,
> je r�cup�re 64ko de donn�e par la requete. Hors mon fichier n'est
> pas compl�, il manque 7ko
>
> Voici le source
>
> pstmt = connection.prepareStatement(SELECT_BLOB);
> oracle.sql.BLOB dataDAO =
> ((oracle.jdbc.driver.OracleResultSet)rs).getBLOB(1);
>
> MultipartResponse multiRep = new MultipartResponse(response);
> multiRep.startResponse("application/x-zip-compressed");
> OutputStream out = response.getOutputStream();
>
> byte [] data = dataDAO.getBytes((long)1,(int)dataDAO.length());
> out.write(data);
> multiRep.finish();
>
> Merci d'avance pour vos reponse
--
St�phan BERNARD (+33) 473 44 07 25 [EMAIL PROTECTED]
LISC/CEMAGREF - 24 av. des Landais, BP 50085 - 63172 Aubi�re Cedex