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

JDBC Java Discussion :

Comment exécuter .sql en utilisant JDBC java ?


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Points : 80
    Points
    80
    Par défaut Comment exécuter .sql en utilisant JDBC java ?
    Bonjour,

    J'aurais besoin d'aide sur l'exécution d'instructions (requêtes) sql se trouvant dans un fichier .sql. J'aimerais pouvoir l'exécuter grâce au JDBC de Java.

    J'ai commencé à coder la chose, voici ce que ça donne :

    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
     
     
        private void btnChoisir2ActionPerformed(java.awt.event.ActionEvent evt) {                                            
            BufferedReader br = null; //lecture de texte
     
            try {
             String sCurrentLine; //ligne
             br = new BufferedReader(new FileReader(complet)); //lecture du fichier
     
             while ((sCurrentLine = br.readLine()) != null) {
              System.out.println(sCurrentLine);
             }
     
            } catch (IOException e) {
             e.printStackTrace();
            } finally {
             try {
              if (br != null)br.close();
             } catch (IOException ex) {
              ex.printStackTrace();
             }
            }
        }
    J'arrive à lire ligne par ligne le fichier, mais après je ne sais pas comment exécuter chaque requête, en ayant pour délimiteur ";"

    Merci d'avance pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Points : 80
    Points
    80
    Par défaut
    J'ai réussi à résoudre mon problème. Il fallait juste lire les lignes, exécuter les requêtes finissant par ";" et ajouter une instruction permettant d'ignorer les commenaires à base de "--", "*","/".
    Il s'avère que les commentaires ne gènent pas lors de l'exécution de l'instruction donc bon.. c'est obselète mais on n'est jamais sûr !
    Pour les intéressés, j'adopte le pattern MVC qui me permet d'avoir une certaine ergonomie dans mon code. Genre dao etc... .


    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
     
    ArrayList<String> listRequete = new ArrayList<String>();
     
     
            try {
             String sCurrentLine; //ligne
             br = new BufferedReader(new FileReader(chemin)); //lecture du fichier
             String ligneFinale = "";
     
             while ((sCurrentLine = br.readLine()) != null) {
                if(!sCurrentLine.startsWith("--") && !sCurrentLine.equals("GO")){
                    ligneFinale = ligneFinale.concat(sCurrentLine);
                    if(sCurrentLine.contains(";")){
     
                        listRequete.add(ligneFinale);
                        ligneFinale = "";
                    }              
     
                }
             }
     
             if(!listRequete.isEmpty()){
                 uneMajExDAO.executeScript(listRequete);
             }
    Un petit bout de mon contrôleur si ça peut aider quelqu'un.

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

Discussions similaires

  1. Comment exécuter un macro personnalisée en utilisant Java
    Par zaki.oulk92 dans le forum Documents
    Réponses: 4
    Dernier message: 13/07/2015, 23h59
  2. Réponses: 2
    Dernier message: 13/12/2012, 11h17
  3. Réponses: 3
    Dernier message: 21/12/2009, 01h54
  4. Réponses: 5
    Dernier message: 16/03/2006, 00h37
  5. [JDBC] java.sql.SQLException: Closed Statement
    Par cmoulin dans le forum JDBC
    Réponses: 4
    Dernier message: 03/09/2004, 17h22

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