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

Requêtes MySQL Discussion :

impossible d'executer une requete


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut impossible d'executer une requete
    Bonjour,

    j'ai une requete que sur ma machine elle s'execute sans probleme, alors que sur le serveur elle plante le serveur, je comprend pas pkoi, sachant que les 2 machines contiennent la meme version de mysql (4.1.22).

    si qlq'un avait deja rencontré ce probleme je serai trés reconnaissant de vouloir m'aider.

    merci.

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Qui dit même version du serveur ne dit pas forcément même configuration, même environnement, etc.
    Ceci dit, sans voir le moindre bout de requête, on ne va pas aller loin dans le diagnostic.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par hypothese Voir le message
    sur le serveur elle plante le serveur
    Que veux-tu dire par là ?
    - Message d'erreur ? Si oui, lequel ?
    - Obligé de rebooter le serveur parce qu'il ne répond plus à aucune solicitation ?
    - Affichage d'aucun résultat ?

    En nous donnant la requête, ce qu'elle est censée faire et une idée de la structure des tables concernées, ça nous aiderait à pouvoir répondre.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut
    salut,
    merci pour votre reaction.
    par "sur le serveur elle plante le serveur" j'ai voulu dire:
    Obligé de rebooter le serveur parce qu'il ne répond plus à aucune solicitation ?
    pour la requete, c une simple requete avec une jointure ebtre 2 table:
    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
     
      CREATE TABLE `jour_agent` (                      
                  `AGENT` varchar(15) NOT NULL default '',       
                  `NOM` varchar(30) NOT NULL default '',         
                  `PRENOM` varchar(30) NOT NULL default '',      
                  `DATE_JOUR` varchar(15) NOT NULL default '',   
                  `EVT` varchar(20) NOT NULL default '',         
                  `Dat_deb` varchar(15) NOT NULL default '',     
                  `H_deb` varchar(10) NOT NULL default '',       
                  `Dat_fin` varchar(15) NOT NULL default '',     
                  `H_fin` varchar(10) NOT NULL default '',       
                  `Duree` varchar(10) NOT NULL default '',       
                  `Competence` varchar(30) NOT NULL default '',  
                  `No_Ent` varchar(20) NOT NULL default '',      
                  `No_Sort` varchar(20) NOT NULL default '',     
                  `Tps_Pause` varchar(10) NOT NULL default '',   
                  `Tps_Live` varchar(10) NOT NULL default '',    
                  `Tps_Log` varchar(10) NOT NULL default '',     
                  `Tps_SupAg` varchar(10) NOT NULL default ''    
                ) ENGINE=MyISAM DEFAULT CHARSET=latin1
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE `person_team` (                 
                   `ID_PERSON` int(11) NOT NULL default '0',  
                   `ID_sib` varchar(11) default '0',       
                   `ID_TEAM` int(11) NOT NULL default '0',    
                   KEY `PERSON_TEAM_FKIndex1` (`ID_PERSON`),  
                   KEY `PERSON_TEAM_FKIndex2` (`ID_TEAM`)     
                 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
    requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT DISTINCT A.AGENT, A.NOM, A.PRENOM, 
      DATE_FORMAT(A.DATE_JOUR,'%d/%m/%Y')  AS JOUR, 
      A.EVT, A.Dat_deb, A.H_deb, A.Dat_fin, A.H_fin,A.Duree, 
      A.Competence, A.No_Ent, A.No_Sort, A.Tps_Pause, 
      A.Tps_Live, A.Tps_Log, A.Tps_SupAg 
    FROM jour_agent A, person_team p 
    WHERE p.ID_sib = A.AGENT  
      and p.ID_TEAM='7' 
      AND A.EVT='LOGIN' 
      AND A.Date_JOUR BETWEEN '20090901000000' and '20090901999999' 
      and date_format(date_jour, '%H%i%S') between '000000' and '235959'  
    ORDER BY A.NOM, A.DATE_JOUR, A.H_deb
    merci pour votre aide.

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pas de clé primaire dans les tables ?
    Des dates, des heures, des durées, des temps en VARCHAR ?

    Vu sa composition, on devine que 'person_team' est une table associative entre deux tables 'person' et 'team'.

    On dirait aussi que 'jour_agent' est une autre table associative entre les tables 'jour' et 'agent' non ? Si c'est le cas, il y a probablement redondance de données entre la table des agents et cette table 'jour_agent'.

    Vraiment pas optimisé tout ça !

    Il faudrait au moins un index sur 'jour_agent.AGENT' pour faciliter l'opération de jointure entre les deux tables présentées ici.
    Un index sur 'jour_agent.EVT' serait peut-être aussi utile s'il y a une relativement grande variété de valeurs.

    Pour savoir quoi indexer, voir le blog de SQLPro.

    J'en profite pour rappeler que la syntaxe normalisée depuis 1992 pour les jointures utilise le mot clé JOIN. Il serait peut-être temps de s'y mettre au bout de 17 ans !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut
    merci pour la reponse.

  7. #7
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut
    bonjour,

    la table jour_agent est une table qui contient des traces journalières donc je peux pas mettre une clé primaire. et ce n'est pas une table associative entre deux tables "jour" et "agent".



    et j'aimerai savoir que veux dire redondance de données.

    merci.

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par hypothese Voir le message
    la table jour_agent est une table qui contient des traces journalières
    Tu veux dire que c'est une table qui est remplie puis vidée chaque jour ?

    donc je peux pas mettre une clé primaire.
    Rien n'empêche de remplir la table puis de poser la clé primaire et les index afin de rendre plus efficace les requêtes faites sur la table.
    Si la table n'est pas créée puis supprimée mais seulement remplie puis vidée, clé primaire et index font partie de la structure de la table et n'ont pas de raison de disparaître entre chaque chargement de données.
    Eventuellement, si le volume de données à charger est important, tu peux désactiver les index avant chargement puis les réactiver après. C'est généralement moins long que de charger une grosse table avec les index activés.

    et j'aimerai savoir que veux dire redondance de données.
    Si jour_agent était, comme je le pensais au départ vu son nom, une table associative, le nom et le prénom de l'agent ne devraient pas être répétés dans cette table jour_agent ; il ne devrait y avoir que l'identifiant de l'agent en tant que clé étrangère et probablement partie de clé primaire.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 183
    Points : 71
    Points
    71
    Par défaut
    merci pour ta réaction CinePhil,

    non, la table "jour_agent" n'est pas remplie et vidé chaque jour, mais juste remplie quotidiennement d'où son nom.

    merci.

Discussions similaires

  1. Impossible d'executer une requete à distance
    Par nabou dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/02/2012, 10h56
  2. Realiser une connexion mysql et execute une requete
    Par Taz_8626 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/05/2006, 10h52
  3. Réponses: 13
    Dernier message: 21/04/2006, 15h39
  4. Executer une requete depuis un évènement
    Par Eric26 dans le forum Access
    Réponses: 3
    Dernier message: 31/03/2006, 14h47
  5. [VB.NET] Executer une requete à partir d'un DataSet...?
    Par anthony70 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 12/07/2004, 14h17

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