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

NetBeans Java Discussion :

Exécution requête SQL via le GUI Netbeans


Sujet :

NetBeans Java

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut Exécution requête SQL via le GUI Netbeans
    Bonjour,

    Déja voici mon environnement:

    Netbeans: 6.9.1
    WAMP 2.0


    J'ai suivi le tutoriel netbeans pour créer une Desktop Application en java.
    Là, tout s'est bien passé.
    J'arrive à me connecter à ma base mysql et à sortir le résultat de la requête dans un JTable dans le JFrame principal.

    Ensuite, j'essai de me connecter à ma base pour effectuer d'autre requêtes et les afficher dans un JDialog.
    Là, les problèmes commencent.

    Ma requête SQL : SELECT COUNT(Nom) FROM liste fonctionne dans l'interface de commande SQL, mais en tant que Query, cela ne passe pas.

    J'obtiens l'erreur suivante dans les logs:

    Caused by: Exception [TOPLINK-8028] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException
    Exception Description: Syntax error parsing the query [SELECT COUNT(Nom) FROM liste], line 1, column 36: unexpected end of query.
    Internal Exception: line 1:36: unexpected token: null
    at oracle.toplink.essentials.exceptions.EJBQLException.unexpectedEOF(EJBQLException.java:419)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.handleANTLRException(EJBQLParser.java:346)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.addError(EJBQLParser.java:278)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.reportError(EJBQLParser.java:378)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.rangeVariableDeclaration(EJBQLParser.java:1742)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.identificationVariableDeclaration(EJBQLParser.java:1621)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.fromClause(EJBQLParser.java:454)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.selectStatement(EJBQLParser.java:179)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.document(EJBQLParser.java:135)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.parse(EJBQLParser.java:166)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.buildParseTree(EJBQLParser.java:127)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:215)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:189)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:153)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.<init>(EJBQueryImpl.java:114)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.<init>(EJBQueryImpl.java:99)
    at oracle.toplink.essentials.internal.ejb.cmp3.EJBQueryImpl.<init>(EJBQueryImpl.java:86)
    at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:204)
    ... 36 more
    Caused by: line 1:36: unexpected token: null
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.rangeVariableDeclaration(EJBQLParser.java:1727)
    ... 49 more


    Pour terminer, seule la requete suivante fonctionne dans l'interface :
    SELECT l FROM Liste l

    Etrange cette requete avec des caractères speciaux | ?


    Merci de vos retours.

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je ne suis pas expert Java ni Netbeans.
    Manque-t-il des éléments pour expliquer mon problème ?

    Je ne comprend que je ne puisse pas executer une requete SQL sous l'IDE.

    Si vous avez un début de réponse, je suis preneur.

    merci

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Problème
    Pour bien t'aider, tu dois poser le requête écrite sous Netbeans surtout la onnexion à la BD et autres appels car le problème est initialement dans le syntax et ca peut être dans tout le code.

  4. #4
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par yvo002 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    at oracle.toplink.essentials.exceptions.EJBQLException.unexpectedEOF(EJBQLException.java:419)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.handleANTLRException(EJBQLParser.java:346)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.addError(EJBQLParser.java:278)
    at oracle.toplink.essentials.internal.parsing.ejbql.EJBQLParser.reportError(EJBQLParser.java:378)
    at oracle.toplink.essentials.internal.parsing.ejbql.antlr273.EJBQLParser.rangeVariableDeclaration
    Pour terminer, seule la requete suivante fonctionne dans l'interface :
    SELECT l FROM Liste l

    Etrange cette requete avec des caractères speciaux | ?
    Cette partie des exceptions montre que tu utilises ejbql (et non sql) et que tu travailles avec des ejb. Ce qui est le cas si tu utilises des binding pour remplir tes tables depuis manttise.

    Je ne connais que jpql, mais je crois que tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT(l.nom) FROM Liste l
    l est la lettre L en miniscule.

    Il faut avoir à l'esprit que tu travailles avec des objets, donc il faut respecter la casse en ce qui concerne le nom des classes, des attributs des classes, ...

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Excellente nouvelle, ma table a bien l'alias "l".
    je n'avais pas testé cela.
    Merci pour ce conseil qui me débloque la situation.
    cela donne envie d'aller plus loin.

    Sinon, il semble que j'utilise bien des EJB car Netbeans m'a créé un Entity Manager.
    De plus, j'ai un script persistence.xml qui existe sous META-INF. Donc pas de connexion requête par requête.

    J'ai quand même une question. EJBQL correspond à SQL adapté aux EJB ?

    En tout cas merci encore et à bientôt

  6. #6
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par yvo002 Voir le message
    J'ai quand même une question. EJBQL correspond à SQL adapté aux EJB ?
    On peut dire ça. Mais il est utilisé avec la version ejb 2.xx. Avec ejb 3.xx, c'est plutot jpql qui est utilisé pour les requetes.

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

Discussions similaires

  1. Exécuter une requête SQL via un batch
    Par WeeJay dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 22/09/2008, 12h32
  2. Exécution requête SQL + easyphp1.8
    Par Chengj dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/05/2006, 16h39
  3. Réponses: 2
    Dernier message: 04/04/2006, 11h46
  4. Recherche ibrairie pour éxécuter des requêtes SQL via C++
    Par daemon dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 14/06/2004, 10h28

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