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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.