IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Migration de données incohérente


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Par défaut Migration de données incohérente
    Bonjour,
    Je dois développer un petit programme permettant de migrer des données provenant de fichier CSV vers une table de ma DB MySQL. Mais le probleme, c'est qu'au moment de la migration, toutes les requetes s'executent tres bien mais je n'ai pas d'enregistrements dans ma table.
    Ce qui est bizarre, c'est que dans la fenetre catalogue de mysql administrator, dans la colonne Rows de la table concernée, il y est indiqué que la table contient 243 enregistrements alors qu'elle était vide auparavant.
    Si quelqu'un a déja rencontré ce probleme, ca pourrait beaucoup m'aider !!
    Merci d'avance !!

    Je mets mon code au cas ou (j'utilise la librairie csvjdbc, tres pratique !!):

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    public void importerClient() throws FileNotFoundException, SQLException
        {
     
            try
            {            
                Class.forName("org.relique.jdbc.csv.CsvDriver");
     
                Properties props = new java.util.Properties();
                props.put("separator","|"); 
                props.put("fileExtension",".dat");
     
                Connection conn = DriverManager.getConnection("jdbc:relique:csv:C:\\Temp", props);
     
                Statement stmt = conn.createStatement();
     
                ResultSet results = stmt.executeQuery("SELECT noclient,nomcompagnie,adresse1,adresse2,ville,codepostal," +
                                                      "telephone,courriel,province,pays,language FROM client");
     
                insertClient(results);  
     
     
            conn.close();
     
     
     
            } catch (ClassNotFoundException ex)
            {
                ex.printStackTrace();
            }
        }
     
        private void insertClient(ResultSet results) throws SQLException
        {
           Statement stmt = null;
           String nom = "";
     
           while (results.next())
           {          
               String noclient = results.getString(1);  
               String nomcompagnie = results.getString(2);  
               String adresse1 = results.getString(3);  
               String adresse2 = results.getString(4);  
               String ville = results.getString(5);  
               String codepostal = results.getString(6);    
               String phone = results.getString(7);  
               String courriel = results.getString(8);  
               String province = results.getString(9);  
               String pays = results.getString(10);  
               String language = results.getString(11);  
     
               /**************************************************/
     
               String langue = "fr";
     
               if (language.compareTo("1")==0)
               {
                   langue = "en";
               } 
               else
               {
                   if (language.compareTo("2")==0)
                   {
                       langue = "fr";
                   } 
               }    
     
               /**************************************************/
     
               String codePays = "CA";
     
               if (pays.compareTo("CANADA")==0)
               {
                   codePays = "CA";
               }
               else
               {
                   if (pays.compareTo("FRANCE")==0)
                   {
                       codePays = "FR";
                   }
                   else
                   {
                       if (pays.compareTo("SWITZERLAN")==0)
                       {
                           codePays = "SW";
                       }    
                   }    
               }    
     
               /**************************************************/
     
     
               String codetaxeapplicableclient = "";
     
               if (province.compareTo("QC")==0 | province.compareTo("QUEBEC")==0) 
               {
                    codetaxeapplicableclient = "REG";
               }
     
     
               /**************************************************/
     
     
               String devise = "CAD";
     
               if (pays.compareTo("USA")==0)
               {
                   devise = "USD";               
               }
               else
               {
                   if (pays.compareTo("FRANCE")==0 | pays.compareTo("SWITZERLAN")==0)
                       {
                            devise = "EUR";
                       }
               }
     
               /**************************************************/
     
               stmt = DatabaseManager.execute("INSERT INTO client (noclient, nomcompagnie, adresse1, adresse2, ville," +
                                              " codepostal, telephone, courriel, province, codepays," +
                                              " codetaxeapplicableclient, devise, langue) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                                              noclient, nomcompagnie, adresse1, adresse2, ville, codepostal, phone, courriel,
                                              province, codePays, codetaxeapplicableclient, devise, langue);
               System.out.println("******stmt******"+stmt);
           }
           results.close();
           stmt.close();
        }

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Par défaut
    J'ai trouvé une solution !!
    J'ai remplacé mes Statement par des PreparedStatement et... ca marche !!
    Je ne sais pas pourquoi ca ne marchait pas avant mais ce n'est pas grave... mon probleme est résolu !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutan] migration de données Oracle vers SQL SERVER 2000
    Par Mil00se dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/08/2005, 17h44
  2. Migration de données Oracle vers SQL server
    Par joul's dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/02/2005, 15h05
  3. migration de données
    Par souad26 dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/11/2004, 12h10
  4. [Oxygene] Migration de données
    Par cach dans le forum Autres langages
    Réponses: 4
    Dernier message: 26/10/2004, 11h45
  5. Migration de données SQL Server to Access2000
    Par guams dans le forum Migration
    Réponses: 8
    Dernier message: 02/07/2004, 14h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo