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 ) :
Voilà je ne comprend pas du tout ce qui cloche.
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();
Merci d'avance
Partager