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

WinDev Discussion :

Erreur initialisation requête


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut Erreur initialisation requête
    Bonjour à tous,

    je rencontre une erreur d’initialisation d'une requête (créé avec l'éditeur de requête):

    Nom : Sans titre.png
Affichages : 430
Taille : 8,8 Ko

    Jamais encore vu ça.

    Il faut savoir que cette requête fonctionne parfaitement quand les fichier de données sont en locale (HFSQL classic).

    Mais dès que je passe sur le serveur HFSQL (client/serveur) il me met cette erreur.

    Et je ne comprends pas. J'ai supprimer et recréé la requête mais sans succès.

    Voici son code SQL :

    Code SQL : 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
    SELECT 
    	Temp_Indice.IDIndice AS IDIndice,	
    	Indice.Indice AS Indice,	
    	MAX(PRG.IDPRG) AS IDPRG
    FROM 
    	Indice,	
    	PRG,	
    	Temp_Indice
    WHERE 
    	Temp_Indice.IDIndice = Indice.IDIndice
    	AND		Indice.IDIndice = PRG.IDIndice
     
    GROUP BY 
    	Temp_Indice.IDIndice,	
    	Indice.Indice,	
    	Temp_Indice.IDIndice,	
    	Indice.Indice
    ORDER BY 
    	IDIndice ASC

    A savoir que la table PRG est sur le serveur HFSQL et que les tables "temp_" sont sur le poste local (HFSQL classic)

    Si vous avez une idée ?? parce que la je bloque...

    J'ai pas trouvé de solutions sur le net...

    merci d'avance !!

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 814
    Points : 5 275
    Points
    5 275
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Un message de ce style arrive souvent lorsque l'on a un HLitSuivant sans HLitPremier ou HLitRecherchePremier
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    ben là c'est sur l’exécution de la requête même...

    soit dans l'éditeur de requête, soit directement sur le hExecuteRequete...

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 814
    Points : 5 275
    Points
    5 275
    Billets dans le blog
    1
    Par défaut
    A priori, il me semble qu'il faudrait un HDéclareExterne sur les tables Temp_
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    je viens d’essayer, erreur sur l’instruction hDeclare car le fichier Temp_xxxx existe déjà dans l’analyse.

    Et si je le supprime, mes requête ne vont pas aimées...

    Je me suis dis que je pourrais peut-être mettre les table Temp sur le serveur, mais je peux pas, car elles doivent rester locales.
    En effet plusieurs clients pourront utiliser l’application simultanément.

    c’est vraiment un comportement étrange... et ça me bloque complètement
    je vois rien pour contourner la chose...

    j’ai l’impression qu’on peut pas faire de requêtes entre des tables locales classic et des tables C/S sur un serveur HFSQL !

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 814
    Points : 5 275
    Points
    5 275
    Billets dans le blog
    1
    Par défaut
    Il y aurait peut être la solution de créer une vue sur ta table Temp_ au niveau de ton serveur et d'exécuter ta requête sur cette vue.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    Je comprends l'idée.

    Mais si 2 utilisateurs utilisent l'application ? ils vont se partager la même vue ? où chacun aura la sienne ?

  8. #8
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 071
    Points : 9 438
    Points
    9 438
    Par défaut
    Dans la table Temp_, si tu la mets sur le serveur, il faut ajouter une colonne qui permettra d'identifier qui est 'propriétaire' de tel enregistrement.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 211
    Points : 9 218
    Points
    9 218
    Par défaut
    Question très bête, tu n'aurais pas une histoire d'emplacement non autorisé pour ton fichier TEMP ?

    Peux-tu nous mettre le code d'appel de ta requête et de la lecture du résultat ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  10. #10
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    @frenchsting, non non l'accès au fichier Temp est dans le répertoire EXE du projet...

    Les tests que je fais sont depuis l'éditeur de requête avec le bouton GO... donc pas de codes d'appels...

  11. #11
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 211
    Points : 9 218
    Points
    9 218
    Par défaut
    Je pense que ça vient de la requête elle-même:
    - tu fais un max(PRG.IDPRG) mais PRG.IDPRG n'est pas dans la clause GROUP BY,
    - de plus, tu as un double GROUP BY "Temp_Indice.IDIndice, Indice.Indice".

    Je pense que tu dois refaire complètement ta requête. Avec l'éditeur de requête, il y a parfois des surprises.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  12. #12
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 071
    Points : 9 438
    Points
    9 438
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Je pense que ça vient de la requête elle-même:
    - tu fais un max(PRG.IDPRG) mais PRG.IDPRG n'est pas dans la clause GROUP BY,
    - de plus, tu as un double GROUP BY "Temp_Indice.IDIndice, Indice.Indice".
    max(PRG.IDPRG) mais PRG.IDPRG n'est pas dans la clause GROUP BY, : ça c'est bon. Rien à changer sur ça. Etourderie de la part de notre ami Frenchsting.
    Par contre, l'autre argument est tout à fait intéressant ! group by Temp_Indice.IDIndice, Indice.Indice,Temp_Indice.IDIndice, Indice.Indice : les 2 colonnes sont en double dans le group by ; je n'ai pas vérifié, mais c'est effectivement un truc très louche.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  13. #13
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 211
    Points : 9 218
    Points
    9 218
    Par défaut
    Argh, oui, je pensais à un COUNT() pas au MAX(). Mea culpa.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  14. #14
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    Zut ça j'avais pas fait attention !

    faut que j'essaye...

  15. #15
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 469
    Points : 121
    Points
    121
    Par défaut
    Bon j'ai plus ces doublons dans le clause GROUPE BY.

    Lais j'ai changé de méthode, je passe plus par des tables locales temporaire.
    J'écris mes requête SQL en dur dans.
    Je les fais varier selon des options et donc plus besoin table temporaire.

    J'ai l'impression que l'on peut pas faire de requête entre une table Classic et C/S.

    Là j'ai plus le message d'erreur.

    Par contre je galère avec la clause MAX...

    voir le nouveau sujet : https://www.developpez.net/forums/d2...ntre-2-tables/

Discussions similaires

  1. [WD17] Erreur d'initialisation requête
    Par chrysaxel dans le forum WinDev
    Réponses: 3
    Dernier message: 17/12/2015, 11h59
  2. [PHP MySQL] Erreur execution requête de type INSERT
    Par Pfeffer dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2006, 17h38
  3. [Debutant]Erreur Récurent - Requête
    Par ghan77 dans le forum Bases de données
    Réponses: 19
    Dernier message: 10/01/2006, 13h09
  4. erreur exécution requête
    Par MANU_2 dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/10/2005, 07h27
  5. Erreur de requête :-(
    Par pekka77 dans le forum ASP
    Réponses: 2
    Dernier message: 28/06/2005, 13h53

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