Bonjour et merci d'avance pour votre aide.

Je suis entrain de créer un ETL (Extract Transform and Load) qui récupère des données de deux applications différentes, l'une utilise une base Sybase, et l'autre de L'HyperFile. Je récupère des infos des deux bases et les insert dans une base MySQL.

Je me connecte à l'une des bases, je l'interroge, je récupère les infos (nom,prénom,...) et créer un objet (client,...) avec ces dernières. Je place tous mes objets dans un vector. J'envoi se vector en paramêtre à une méthode qui me les inserts dans MySQL. Voilà en gros le fonctionnement.

Avec SyBase sa marche bien, mais avec HyperFile j'ai un problème. J'utilise un driver ODBC avec le bridge ODBC-JDBC pour me connecter à Sybase et HyperFile.

Le problème est le suivant, quand je récupère les infos de HyperFile, j'arrive à les afficher mais pas à créer mon objet client pourtant c'est le même que celui utilisé avec Sybase...

J'ai également remarqué que si je fais afficher deux fois les infos il bloc et n'affiche qu'une fois les infos. Et si je fais afficher du texte simple, il ne passe pas non plus la création du client.

Le problème c'est que le programme ne plante pas, il "fige" et n'affiche aucun message d'erreur.


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
/**Permet de récupérer un ensemble de Client Structure
     * contenu dans la base HyperFile.
     * @return Vector d'Objets de type Client Structure*/
    public Vector<ClientStructure> getAll() throws MappingException{
   Vector<ClientStructure> vector = new Vector<ClientStructure>() ;
   ClientStructure client;
   try{
                  ResultSet Res = this.Stat.executeQuery("SELECT * FROM CLIENT;");
      while (Res.next()) {
         System.out.println(Res.getString("CODTIERS"));
                 System.out.println(Res.getString("NOM"));
                 System.out.println(Res.getString("SIRET"));
                 System.out.println(Res.getString("ADR1"));
                 System.out.println(Res.getString("ADR2"));
                 System.out.println(Res.getString("ADR3"));
                 System.out.println(Res.getString("CODPOS"));
                 System.out.println(Res.getString("VILLE"));
                 System.out.println(Res.getString("PAYS"));
                 System.out.println(Res.getString("TEL"));
                 System.out.println(Res.getString("TELEX"));
                 System.out.println(Res.getString("EMAIL"));
                 System.out.println(Res.getString("FAX"));
                 System.out.println(Res.getString("MEMO"));
                
                 client = new ClientStructure(Res.getString("CODTIERS"),
                                              Res.getString("NOM"),
                                              Res.getString("SIRET"),
                                              Res.getString("ADR1"),
                                              Res.getString("ADR2"),
                                              Res.getString("ADR3"),
                                              Res.getString("CODPOS"),
                                              Res.getString("VILLE"),
                                              Res.getString("PAYS"), 
                                              Res.getString("TEL"),
                                              Res.getString("TELEX"),
                                              Res.getString("EMAIL"),
                                              Res.getString("FAX"),
                                              Res.getString("MEMO"),
                                              0,
                                              0);

                 vector.add(client);
             }
     Res.close();
     return vector;
   }catch(Exception e) {throw new MappingException("problème de requête");}
    }