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

Servlets/JSP Java Discussion :

[SRPING] BAd SQL Grammar


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut [SRPING] BAd SQL Grammar
    Bonjour à tous,

    Je tente d'effectuer la requete suivante sur une base DB2:

    private static final String SQL_GET_OBJETS_EN_COURS = "SELECT " + SQL_OBJET_ID + " FROM " + SQL_TABLE_OBJETS + " WHERE " + SQL_OBJET_ID + "=1;"

    En utilisant spring/jdbc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public List getEvenementEnCours() throws CommonException {
    		jdbcTemplate = new JdbcTemplate(getDataSource());
    		try {
    			return jdbcTemplate.query(SQL_GET_OBJETS_EN_COURS, new AllEvenementsMapper());
    		} catch (DataAccessException e) {
    			log.error(e);
    			throw new DaoException(e);
    		}
    	}

    Lorsque j'appelle cette méthode, j'obtient ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Caused by: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT OBJET_ID FROM  BE_SV_OBJET WHERE OBJET_ID=1;]; nested exception is com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: ;;JET WHERE OBJET_ID=1;END-OF-STATEMENT
    	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:88)
    	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:257)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:294)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:348)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:352)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:356)
    	at com.ag2r.editique.dao.impl.EvenementDAOimpl.getEvenementEnCours(EvenementDAOimpl.java:50)
    	... 135 more
    Quelle a été mon erreur?

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    et ta requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT OBJET_ID FROM  BE_SV_OBJET WHERE OBJET_ID=1;
    fonctionne sous DB2 ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Normalement oui, et puis un SELECT * FROM BE_SV_OBJET; fonctionne sans problème.

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    OBJET_ID est bien un entier ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Oui, il s'agit bien d'un entier mais c'est également une foreign key. Ca peut influencer quoi que ce soit?

  6. #6
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    en principe non pour un select.

    p.s. : essaye quand meme d'executer cette requete sur DB2

    car c'est db2(ou le driver) qui renvoie l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: ;;JET WHERE OBJET_ID=1;END-OF-STATEMENT

Discussions similaires

  1. nature de rejet dans bad avec sql*loader
    Par hichcasa dans le forum Import/Export
    Réponses: 2
    Dernier message: 22/01/2009, 12h52
  2. SQL Loader Bad Files
    Par sebastien00 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 01/07/2008, 15h21
  3. bad SQL grammar + Hibernate
    Par jamalmoundir dans le forum Hibernate
    Réponses: 1
    Dernier message: 11/07/2007, 14h09
  4. java.sql.SQLException: Bad handshake
    Par piloupy dans le forum JDBC
    Réponses: 1
    Dernier message: 01/03/2007, 15h32

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