Bonjour, je suis actuellement en stage, et on m'a demandé de concevoir un connecteur entre 2 bases de données.En ce moment j'essai de concevoir une methode de mise à jour, c'est-à-dire, qu'il ya une base(entrepot) possédant toutes les tables des autres bases, et que cette base doit être mise à jour quand on modifie une des tables des autres bases. Si quelqu'un pouvait m'aider je lui en serait reconnaissant.Ainsi j'aimerais pouvoir mettre à jour toutes les tables de cette entrepot.

voici ce que j'ai fait jusqu'à present:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
public void updateLigne(String Entrepot) throws Exception{
    Base b=null;
    Base c=null;
// La classe Base a été défini    
    try{
    Set<String> s=new TreeSet<String>();
    Iterator<Base> it=m.values().iterator();
// m est un map<Table,Base> associant à chaque table la base à laquelle elle appartient.
//La classe Table a aussi été définie.
    c=client.getBase(Entrepot);
 
while(it.hasNext()){
    String g=it.next().getNom();
    if(g.equals(Entrepot)==false)
//je récupère le nom de toutes les Bases sauf celle à mettre à jour.
    {s.add(g);
}
}
Iterator<String> iter=s.iterator();
while(iter.hasNext()){
String f=iter.next();
 b=client.getBase(f);
 Iterator<Table> i=b.iterator();
//parcours des tables de chacune de ces bases.
 while(i.hasNext()){
 Table t=i.next();
    Table t1=client.getTable(Entrepot,t.getNom());
    String recup="SELECT * FROM "+t.getNom();
Statement stmt=b.getConnexion().createStatement();
ResultSet r=stmt.executeQuery(recup);
Statement stmt2=c.getConnexion().createStatement();
ResultSet r2=stmt2.executeQuery(recup);
ResultSetMetaData rm=r.getMetaData();
ResultSetMetaData rm2=r2.getMetaData();
while((r.next())&&(r2.next())){
    for(int a=1;a<=rm.getColumnCount();a++){
        if(r.getString(a).equals(r2.getString(a))==false){
// s'il ya une différence entre les 2 tables ,celle de la base entrepot est modifiée.
        r2.updateString(a,r.getString(a));
              }
    }
}
 
 }    
}    
    }
 
    catch(Exception e) {
        System.err.println("\n*** Exception caught in updateLigne()");
            throw e;
        }
}
Pourriez-vous me dire ce qu'il ne va pas dans mon code?
S'il ya des question posez-les moi.