Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2011, 10h25   #1
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Par défaut Longueur d'instruction incorrecte., SQL state S1090

Bonjour à tous,

En exécutant cette requête :

Code :
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 :
1
2
 
SQL error: [IBM][Pilote ODBC iSeries Access]Longueur d'instruction incorrecte., SQL state S1090 in SQLExecDirect
Quelqu'un pourrait-il m'éclairer ?
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 12h24   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
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 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Le texte de la requête n'est il pas trop long?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 12h35   #3
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
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 :
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 ?
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 13h07   #4
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
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
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 13h38   #5
Futur Membre du Club
 
Homme
Développeur Web
Inscription : novembre 2007
Messages : 185
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : novembre 2007
Messages : 185
Points : 15
Points : 15
Qu'entend tu par driver Yanika_bzh ?
kamnouz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 13h56   #6
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
ce qui gere ta fonction odbc_do
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2011, 15h19   #7
Modérateur
 
Inscription : octobre 2008
Messages : 1 508
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 508
Points : 2 040
Points : 2 040
"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.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h35.


 
 
 
 
Partenaires

Hébergement Web