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

Langage SQL Discussion :

Longueur d'instruction incorrecte., SQL state S1090


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut Longueur d'instruction incorrecte., SQL state S1090
    Bonjour à tous,

    En exécutant cette requête :

    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
     
    $rq_abonne_option=odbc_do($conn,"
     
    SELECT ALL       T02.E7B8ZC,T01.CXAN8X,T01.CXHZZE,T01.CXB9ZC,T03.NUGUFX,T03.NUGVFX,T02.E7BUZA,T04.DYEVZE,T03.NUDWF7,T03.NUG3FX,T03.NUG4FX,T03.NUDXF7,T01.CXB6ZA,T01.CXA3ZB,T01.CXARZF,T01.CXCEZA,T02.E7BUZA
     
    FROM      DISACTDTA1.COE7REP T02,                                          
    DISACTDTA1.COCXREP T01,                                          
    SATACTDTA1.FINURED T03,                                          
    DISACTDTA1.CODYREP T04,                                          
    SATACTDTA1.FAFLRED T05,                                          
    DISACTDTA1.COC1REP T06  
     
    WHERE     E7B8ZC = CXB8ZC                                                  
    AND     NUB8ZC = CXB8ZC                                                  
    AND     DYBUZA = E7BUZA                                                  
    AND     NUGVFX = FLAAFJ                                                  
    AND     E7CIZA = DYCIZA                    
    AND     T01.CXCEZA = T06.C1CEZA                                                         
    AND     T01.CXCDZA IN('" . implode("','", $_SESSION['code_groupe']) . "') 
    AND     T02.E7B8ZC  IN('" . implode("','", $abonnes) . "') 
    AND     T02.E7BUZA IN('" . implode("','", $_POST['check']) . "')
    AND     CXA3ZB <> 0                        
    AND     CXA6ZB = 0  
    group by E7B8ZC,E7BUZA,CXHZZE,CXB9ZC,NUGUFX,NUGVFX,DYEVZE,CXAN8X,NUDWF7,NUG3FX,NUG4FX,NUDXF7,CXB6ZA,CXA3ZB,CXARZF,CXCEZA,E7BUZA");
    J'ai le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SQL error: [IBM][Pilote ODBC iSeries Access]Longueur d'instruction incorrecte., SQL state S1090 in SQLExecDirect
    Quelqu'un pourrait-il m'éclairer ?

  2. #2
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Le texte de la requête n'est il pas trop long?

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    En fait ma requête marche lorsqu'elle retourne peu de lignes !
    Et là pour moi lorsqu'elle remonte beaucoup de lignes ça me met ce message d'erreur .

    Le nombre de lignes retournées par la requête varie en fonction du critère de sélection passé en paramètre dans la requête.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    AND     T01.CXCDZA IN('" . implode("','", $_SESSION['code_groupe']) . "') 
    AND     T02.E7B8ZC  IN('" . implode("','", $abonnes) . "') 
    AND     T02.E7BUZA IN('" . implode("','", $_POST['check']) . "')
    qu'entends-tu par longueur de ma requête ?

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Il subodore je pense, la longueur de la chaine de caractere qui contient ta requete. Votre driver n'est peut etre pas a meme de gerer un taille aussi importante.

    Bon courage

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Qu'entend tu par driver Yanika_bzh ?

  6. #6
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    ce qui gere ta fonction odbc_do

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    "driver" est le mot anglais, l'équivalent français est "pilote".
    En l'occurrence d'après le message d'erreur, c'est "Pilote ODBC iSeries Access"

    Sur les paramètres de ta requête, est-ce qu'il y a parfois des accents et si oui es-tu sûr qu'ils sont encodés correctement? En effet une cause possible de cette erreur est une mésentente sur l'encodage des accents qui se traduit par une taille annoncée de requête en contradiction avec son contenu.

Discussions similaires

  1. [ODBC] Erreur Longueur d'instruction incorrecte., SQL state S1090 in SQLExecDirect
    Par kamnouz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/09/2011, 15h29
  2. Réponses: 2
    Dernier message: 28/12/2008, 15h28
  3. [MySQL] zone cliquable qui redirige vers une page grace a des instructions php/sql
    Par tiph02 dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 04/06/2008, 14h39
  4. Pb longueur de blob incorrecte...?
    Par korntex5 dans le forum Access
    Réponses: 6
    Dernier message: 10/01/2006, 14h05

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