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 :

Script SQL ne s'éxècute pas sous java


Sujet :

JDBC Java

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Script SQL ne s'éxècute pas sous java
    Bonjour à Tous,

    Bon voilà j'ai un problème assez bizarre,

    Je veux exécuter un script SQL depuis mon application java, dans mon code je crée ma connexion, j'instancie un nouveau statement et puis j'exécute ma requête qui débute par "source"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try{
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection connection=DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", "");
    Statement statement = connection.createStatement();
    statement.execute(temp);
    } catch (Exception e) {
    System.out.println("Exception : "+e.getLocalizedMessage());
    e.getStackTrace();
    }

    Le résultat est que le programme me génère une exception :

    Exception : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source C:/test/BaseFour.sql' at line 1



    Ce qui est n'est pas compréhensible c'est que lorsque j'éxècute manuellement le script dans MySQL avec l'instruction 'source C:/test/BaseFour.sql', le script s'exécute sans aucun problème...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 200
    Points : 66
    Points
    66
    Par défaut
    à partir d'eclipse, je me connecte à mySQL avec le code suivant:
    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
    try {		
        // Connect to the local database
        String url = "jdbc:mysql://localhost/test"  ;
        String login = "root";
        String password = "";	  
     
        Connection conn = DriverManager.getConnection(url,login,password);      
     
        // Query the employee names
        Statement stmt = conn.createStatement ();
     
     
        String requete = "INSERT INTO client (heure_arrivee,temps_guichet) VALUES ('22:44:55',3)";		   
     
        stmt.execute(requete);		
     
        stmt.close();
        conn.close();
    }
    catch ( Exception E ) {
        JOptionPane.showMessageDialog(new Frame(),"Impossible de se connecter à la base de donnée!");
    }
    Essaie de l'implémenter sur ta base..

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Dans ton fichier C:/test/BaseFour.sql', ta requête sql n'est pas sur plusieurs lignes ???

    Si tel est le cas, je crois qu'il faudra avant lire du ligne à ligne pour mettre dans une même string, puis de faire le statement.execute(requete)
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Que contient "temp" dans statement.execute(temp) ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    temp contient la chaine de caracteres "source C:/test/BaseFour.sql"

    je voulais essayer d'executer ce script sql au moyen de la commande source


    Mais il parait que ce n'est pas faisable dans l'instruction statement.execute de passer une commande de type source....

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Oui, c'est évident... il suffisait de regarder la doc de Statement...

    Pour faire ça, il faut utiliser java.io.File, lire le contenu, récupérer les instructions et les exécuter via le Statement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/08/2009, 15h40
  2. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  3. Script SQL saut de ligne CRLF sous postgres
    Par diabli73 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/09/2008, 13h04
  4. [Prototype] Script d'autocomplétion ne fonctionne pas sous Mozilla
    Par vixell dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 11/03/2008, 09h20
  5. Script qui ne s'éxécute pas
    Par Esil2008 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/07/2007, 14h27

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