Upload de fichier dans un blob oracle
Bonjour
Alors pour mon stage je dois faire une interface client,qui lui permet d uploader un fichier(Zip,Doc,Txt ou autre) dans une base de donnee Oracle 10g dans un champ de type BLOB.
Je fais le traitement avec une servlet.
Je me sert du prepared statement et mon code se presente comme ca:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
//creation de la ligne d'enregistrement
Insert into TableFormulaire(idFormulaire int,
nomFormulaire varchar,
imageFormulaire Blob)
values("id du formulaire","nom du formulmaire",EMPTY_BLOB)
cPStmt.executeUpdate();
//insertion du fichier client dans le blob vide creer auparavant
"UPDATE tableFormulaire
set formulaire_fichier_word = ?
WHERE formulaire_identifiant="id du formulaire" |
ensuite j ai le choix soit
cPStmt.setBytes (1,byte[]) ;
mais oracle ne l'accepte que pour un fichier <= a 4000kb
donc il me reste la solution
cPStmt.setBlob (1,blob) ;
malheuresement je n 'arrive pas a creer mon objet blob.
Blob blob = null;
blob.setBytes(1,item.get());
me genere une exception java.lang.NullPointerException
alors que mon tableau de byte est rempli
autrement je me sert d une autre technique
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
BLOB image=null;
/* selection du blob/*
String Srequete="select ImageFormulaire from TableFormulaire where formulaire_identifiant="id du formulaire"
cPStmt = gCnx.prepareStatement(Srequete);
//result set//cRs = cPStmt.executeQuery();
cRs.next();
image=((OracleResultSet)cRs).getBLOB("imageFormulaire);
image.setBytes(item.get() );
cPStmt.close();
cRs.close();
et la lorsque j execute update ili |
Est ce que vous avez deja rencontre se probleme.
Avez vous une solution???
Merci d'avance a tt ceux qui prendrons la peine de me repondre.