Bonjour,

Je souhaite utiliser dbunit, j'ai une vue "etudiant" qui reprend des éléments des tables "candidat" et "etudiant_session", j'utilise le code suivant pour convertir ma base en fichier XML utilisable par dbunit :

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
22
23
24
25
26
27
28
29
30
31
32
package tools;
 
 
import java.io.FileOutputStream;
import java.sql.Connection;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.QueryDataSet;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
 
public class DBToXML {
 
  public static void main(String[] args) throws Exception {
    // database connection
    Connection conn = modele.ConnexionBD.getConnection();
    IDatabaseConnection connection = new DatabaseConnection(conn);
 
     String[] lstTables = {"formateur", "administration", "annee_session", "formation2",
            "maitre_stage", "module", "candidat", "etudiant_session", "etudiant", "retour_sur_module", "retour_sur_etudiant"};
 
        QueryDataSet queryDataSet = new QueryDataSet(connection);
 
        for (int i = 0; i < lstTables.length; ++i) {
            queryDataSet.addTable(lstTables[i]);
 
        }
 
 
    FlatXmlDataSet.write(queryDataSet, new FileOutputStream("BD2.xml"));
  }
}
Mais quand je lance le test avec le XML ainsi produit, j'obtiens l'erreur "NoSuchTableException : etudiant", pourtant dans mon programme j'arrive à faire des select from etudiant même si c'est une vue et pas une table, mais dbunit a l'air de bugguer à ce sujet, même si dans le XML il n'y a rien qui différentie les tables des vues, au début je n'ai pas mis "candidat" et "etudiant_session" dans le XML mais les mettre ne change rien.
J'ai vu dans la doc de dbunit qu'on peut indiquer qu'une table est en réalité une vue mais je ne sais pas comment utiliser ça ici et si même ça aidera à quelque chose.

Une idée sur ce problème ?

Merci d'avance.