Bonjour,

Je fais face à un gros problème pour créer un fichier de backup d'une base de données.

Je procède de la manière suivante :
1) Je crée un Backup dans le dossier source
2) Je copie ce fichier vers un dossier indiqué par l'utilisateur
3) Je supprime le fichier dans le dossier source

Seulement, au moment de la copie ( étape ), le programme ne trouve pas toujours le fichier de backup, crée juste avant avec la ligne en SQL.
J'ai un exception IOException : "Le fichier 'backupxxxxx.zip' n'a pas été trouvé ".
Mais le plus étrange, c'est que des fois la copie marche, mais des fois ça plante :/ et je ne sais pas du tout pourquoi.

Voilà mon code ( j'ai indiqué la ligne d'où l'exception est lancée ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
	// Création du BACKUP dans le dossier source
	String date = new SimpleDateFormat("dd-MM-yyyy_HH-mm-ss").format( new Date() );
	String name = "backup" + date + ".zip";
	this.stat.executeUpdate("BACKUP TO '" + name + "'");	
 
	// Copie vers le dossier choisi
	FileInputStream fileInputStream = new FileInputStream(name); // ERREUR ICI
	FileChannel in = fileInputStream.getChannel();
	FileOutputStream fileOutputStream = new FileOutputStream( path + "/" + name ); // "path" est le chemin du dossier cible
	FileChannel out = fileOutputStream.getChannel();	
	in.transferTo(0, in.size(), out);
	fileInputStream.close();
	fileOutputStream.close();
	in.close();
	out.close();
 
	// Suppression dans le fichier source
	File file = new File(name);
	file.delete();
Voilà je ne comprend pas du tout ce qui cloche.

Merci d'avance