ecriture dans une base mysql

ecriture dans une base mysql - Java - Programmation

Marsh Posté le 18-03-2013 à 11:31:51    

Bonjour,
j'ai une application qui permet d'accéder à un routeur récupérer des informations, les stocker dans des fichiers puis les stocker dans une base Mysql.
j'aimerai ecrire ces infos dans la base sans avoir à passer par l'étape intermédiaire des fichiers (en fait cette étape de permet de faire des traitements sur l'affichage des données).
 
comment je pourrais faire?
 
merci bcp

Reply

Marsh Posté le 18-03-2013 à 11:31:51   

Reply

Marsh Posté le 19-03-2013 à 11:36:45    

en fait j'ai trouvé partiellement le problème j'ai ce code ci dessus qui permet de lire de remplir une table mysql avec des données stockée dans un fichier mais il ne focntionne pas (pas de message d'erreurs cependant).
 
class DBUpdate {
     
// Attributs de la classe
    static File fichier;
    static String separateur;
    static String SQLTable;
    static String colonne;
    String  chaine ;
     
 public DBUpdate(File fichier, String separateur, String SQLTable, String colonne) {
     
            // initiasation des attributs
            this.fichier=fichier;
            this.separateur=separateur;
            this.SQLTable=SQLTable;
            this.colonne=colonne;
     
            String url = "jdbc:mysql://localhost:3306/base";
            String username = "root";
            String password = "base2424";
 
   
     try{
         // connexion à la base
            Class.forName("com.mysql.jdbc.Driver" ).newInstance();
            Connection connexion = DriverManager.getConnection(url, username, password);
            Statement instruction = connexion.createStatement();
            ResultSet resultat = instruction.executeQuery ("SELECT * FROM "+ this.SQLTable);
           
       try {
            InputStream ips=new FileInputStream(fichier);  
            InputStreamReader ipsr=new InputStreamReader(ips);
            BufferedReader br=new BufferedReader(ipsr);
     String ligne;
                 
                     while((ligne=br.readLine())!=null){
                             
                                String [] str = ligne.split(separateur);  
                                chaine = str[1];  
                                instruction.executeUpdate ("INSERT INTO "+this.SQLTable+ "("+this.colonne+" ) VALUES ('"+chaine+"')" );
   }
                   
         br.close();  
                       connexion.close();
                         
        }catch(FileNotFoundException ei){}
       
      } catch (Exception e) {System.out.println("echec pilote :" +e); }  
        }
 
pouriez vous m'aidez svp ??
merci
       

Reply

Marsh Posté le 19-03-2013 à 13:19:25    

Ben si t'as accès au code source de l'appli, suffit de repérer l'endroit où sont collectées les données puis virer la partie stockage dans les fichiers et modifier le code qui enregistre en BD.
 
Si le volume des données est important, plutôt que de tout collecter les données en 1 fois et les mettre en ram puis les mettre en BD, y'aurait intérêt à collecter les données par petits packets et les enregistrer au fur et à mesure...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-03-2013 à 18:10:36    

sdl mais tu ne m'as pas bien compris l'application dont je parle est un ensemble de classe que j'ai développé.
 
dans le code que je viens de mettre, le problème semble venir de la clause try qui permet la lecture du fichier, on dirrait que ca rend l'accès à la base invisible.
 
stp tu peux essayer de m'aider  
 
merci

Reply

Marsh Posté le 19-03-2013 à 18:16:33    

approximation dommageable : catch(FileNotFoundException ei){}  :
Si il n'y a pas de fichier ou le chemin est mauvais, il y a sortie du programme sans message d'erreur ... ce qui correspond à ce qui t'arrive

Reply

Marsh Posté le 21-03-2013 à 13:45:22    

j'ai réglé le problème ca n'avait rien a voir avec le fichier, il suffisait de copier le code dans un nouvelle classe (aparament la classe a platé c tout).

Reply

Marsh Posté le 23-03-2013 à 11:10:44    

Merci de marquer comme résolu...
 
Merci de ne pas ouvrir deux topics sur la même question!
 
http://forum.hardware.fr/hfr/Progr [...] 9201_1.htm


---------------
http://devicenotready.com/ - Informatique et autres bizarreries
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed