logo  
 
Translation :
 
   
 
Menu général :
 
   
 
Espace Membre :
 
 
Privé Se connecter


Se souvenir de moi ?


Mot de passe oublié

 
 
Liens Web :
 
   
 
Forum : Masquer l’entête
 
 
Accès rapide :

Effectuer une Recherche avancée OU


 
 
ERREUR MYSQL  [10 réponses]
 
 


 
 
 
 
 
 
 
 
 
carlier
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 152
Inscrit(e) le: 28 mai 2012
Imprimer vendredi 6 mai 2016 à 15:54  

Sujet déplacé le 12/05/2021 à 12:34 Par million.
Bonjour,

En vue de préparer l'année prochaine, je viens d'installer une version local de wamp sur mon ordi pour travailler sur la base de données.

J'ai exporter la base de cette année à partir du serveur de prod et importé cette base sur mon ordi via PhpMyAdmin et compte la nettoyer + la mettre à jour pour la nouvelle version de VT.

Le souci est losrque j'essaie de me connecter via VT_reseau j'ai le message :
MYSQL error Code (1292) :
Incorrect datetime value : '0000-00-00 00:00:00' from column 'dateDeconnexion' at row 1

Or, je n'ai jamais eu ce message sur le serveur ?

Quelqu'un a-t-il une idée ?

J'ai bien vu dans la base de données que dans la table utilisateurs_connexions ce champ apparaissait, j'ai essayé de vider la table (cf. wiki) mais sans succès... smiley sg3agg23g.gif


Merci

François




 
 
 
 
 
 
Ψsylvain
Administrateur
stars7.png
Dieu Supreme


avatar
Hors ligne

Nombre de posts: 2121
Inscrit(e) le: 20 novembre 2004
Imprimer Permalien vendredi 6 mai 2016 à 16:23  

Bonjour François,

Le plus serait de ruser : tu changes la valeur de ce champs pour toute ta table utilisateurs_connexions.

update utilisateurs_connexions set dateDeconnexion = '2020-01-01 01:00:00'

Je viens de vérifier dans mes tables, parfois on trouve la même valeur que la tienne. Cela vient du fait que les utilisateurs ne quittent pas nécessairement VT proprement.


J'avais indiqué quelques modifications à apporter à la base pour éviter qu'il y ait des valeurs par défaut farfelues : ici, dans le forum.
Mais je n'ai rien indiqué concernant les tables relatives aux utilisateurs.
Il suffit de mettre une valeur par défaut valide dans le champs dateDeconnexion (par exemple '2100-01-01 01:00:00'.

Ce qui me laisse perplexe c'est :
1) que tu n'arrives pas à vider cette table ???
2) ce champ n'est pas utilisé dans VT mais dans VT_admin

smiley sg3agg28g.gif smiley sg3agg28g.gif smiley sg3agg28g.gif

Sylvain

Édité 1 fois - Dernière édition: 06/05/2016 à 16:26 Par sylvain.


visual timetabler


E-mail Anti-spam


 
 
 
 
 
 
carlier
starsj4.png
Posteur fou


avatar
Hors ligne

Nombre de posts: 152
Inscrit(e) le: 28 mai 2012
Imprimer Permalien lundi 9 mai 2016 à 11:02  

Bonjour Sylvain,

Merci pour tes pistes
Malheureusement, cela ne fonctionne pas : J'ai un message d'erreur qui m'indique qu'il est impossible de changer les valeurs par défaut.
Lorsque je veux changer celle du champ DateConnexion, il me dit que DateDeconnexion est invalide et si je veux changer DateDeconnexion , il me dit que c'est DateConnexion qui ne l'est pas.
Bref, je tourne en rond... smiley sg3agg28g.gif

Je me suis mal exprimé sinon, j'ai bien réussi à vider la table, mais cela n'avait pas résolu le souci

Au final et après qq recherches sur Google, je viens de désinstaller la dernière version de Wamp (3.x) et j'ai remis une version antérieure 2.4 et... cela fonctionne ??? (Connexion via vt_reseau et la mise à jour des valeurs par défaut de dateConnexion et dateDeconnexion)

Il y aurait-il des changements dans mysql 5.6 -> 5.7 qui pourraient poser ce problème ?
À vérifier en tout cas, car cela peut-être gênant pour ceux qui font les mises à jour.

A+

François




 
 
 
 
 
 
festoc
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 5
Inscrit(e) le: 02 juin 2016
Imprimer Permalien mercredi 8 juin 2016 à 09:58  

Bonjour,
Même pb rencontré à Nice avec mysql 5.7.
Nous allons devoir installer la base sur un vieux serveur qui doit être abandonné.
Une solution est-elle à l'étude ?
Merci




 
 
 
 
 
 
Ψsylvain
Administrateur
stars7.png
Dieu Supreme


avatar
Hors ligne

Nombre de posts: 2121
Inscrit(e) le: 20 novembre 2004
Imprimer Permalien lundi 13 juin 2016 à 13:43  

Bonjour,

Intrigué par vos demandes, j'ai fini par installer une version 5.7 de mysql et j'ai fait un transfert d'une base VT vers cette nouvelle version. Effectivement des erreurs sont apparues. Elles sont toutes liées à des problèmes de dates.
Dans la nouvelle version de mysql il y a un contrôle plus strict sur les dates et en particulier dès qu'il y a une date du genre '0000-00-00', mysql 5.7 n'aime ps du tout ! (et il a bien raison).

Voici donc les modifications que j'ai du faire pour que le transfert se fasse :

calendriers_commentaires -> dans la nouvelle structure de la base, la valeur du champs dateModif peut être de la forme '0000-00-00 00:00:00' si on a utilisé une ancienne base.
La valeur de ce champs doit être mise à jour par le SGBD et non pas par VT.
Le type de ce champs doit maintenant être timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP.
Voici la définition cvomplète de cette table :
CREATE TABLE `calendriers_commentaires` (
`codeRessource` int(11) NOT NULL,
`commentaire` varchar(100) NOT NULL,
`deleted` int(1) NOT NULL,
`codeProprietaire` int(11) NOT NULL,
`dateModif` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Pour forcer la mise à jour de ce champs après avoir modifier sa définition, il suffit de modifier la valeur d'un champs pour chaque enregistrement.
Voici un moyen simple et efficace :
On crée un champs de nom xxx et de type int(10).
On fait un update calendriers_commentaires set xxx= 1; ce qui provoquera une mise à jour des champs xxx et dateModif.
On détruit le champs xxx de la table.

calendriers_enseignements -> la valeur par défaut du champ date ne doit pas être 0000-00-00, il suffit de mettre 3000-01-01 par exempel.
Même chose pour les tables calendriers_filieres, calendriers_groupes, calendriers_materiels, calendriers_profs et calendriers_salles.

filieres -> changer la valeur du champs derniereConsultation si elle vaut '0000-00-00 00:00:00' et mettre par exemple '2016_06-01 01:01:01' .
Dans la définition de cette table s'assurer que la valeur par défaut du champs 'derniereConsultation' n'est pas '0000-00-00 00:00:00'.
Si c'est le cas mettre par exemple '3000-01-01 01:01:01'
La valeur par défaut des champs dateDebut et dateFin est '0000-00-00' remplacer par une date valide.
Par exemple '2015-01-01'.

grades_ponderations -> changer les valeurs incorrectes de type '0000-00-00 00:00:00' du champ dateCreation par une date valide par exemple '3000-01-01 01:01:01'
Dans la définition de cette table, mettre une date valide comme valeur ar défaut du champs dateCreation. Par exemple '3000-01-01 01:01:01'

niveaux -> mettre une valeur valide par défaut dans les champs dateCreation, dateDebut et dateFin. Par exemple : '3000-01-01 01:01:01'.
update niveaux set dateDebut = '3000-01-01 01:01:01';
update niveaux set dateFin = '3000-01-01 01:01:01';

periodes -> pour le champ dateCreation mettre une valeur valide par defaut : 3000-01-01 01:01:01
update periodes set dateCreation = '3000-01-01 01:01:01';

reservations -> pour le champs dateDemande mettre une valeur valide par defaut : 3000-01-01 01:01:01
update reservations set dateDemande = '3000-01-01 01:01:01';

reservations_filieres -> pour les champs dateDemande, dateReservation et dateCreation mettre une valeur valide par defaut : 3000-01-01 01:01:01

reservations_historique -> pour les champs dateReservation mettre une valeur valide par defaut : 3000-01-01 01:01:01

seances_historique -> pour les champs dateReservation mettre une valeur valide par defaut : 3000-01-01 01:01:01

utilisateurs_connexions -> pour le champs dateConnexion mettre une valeur valide par defaut : 3000-01-01 01:01:01
pour le champs dateDeconnexion mettre une valeur valide par defaut : 2000-01-01 01:01:01

Attention mettre une date par defaut qui precede celle du champs dateConnexion

Verifier que dans la table utilisateurs_connexions toutes les valeurs des dates sont valides : les changer si besoin.

utilisateurs_filtrages -> mettre une date par defaut valide pour le champs dateCreation.
Il faut que le champs dateModif soit mis à jour lors des modification (on update current_timestamp). Ceci est d'ailleurs valadble pour le champs dateModif de toutes les tables.
Verifier que les dates sont valides dans la table.

Il faudra que je prévoie les scripts qui permettront à chacun de mettre à jour sa base sans trop d'efforts.
Sylvain




Pour info, j'avais déjà préparé des scripts sql qui corrigent une partie des pbs : http://visual.timetabling.free.fr/index.php?mod=forum&ac=voir&id=1227


visual timetabler


E-mail Anti-spam


 
 
 
 
 
 
festoc
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 5
Inscrit(e) le: 02 juin 2016
Imprimer Permalien mardi 14 juin 2016 à 11:29  

Bonjour,

J'ai supprimé et recréé la table utilisateurs_connexions.
DROP TABLE IF EXISTS `utilisateurs_connexions`;
CREATE TABLE `utilisateurs_connexions` (
`codeUtilisateur` int(11) NOT NULL DEFAULT '0',
`dateConnexion` datetime NOT NULL DEFAULT '3000-01-01 01:01:01',
`dateDeconnexion` datetime NOT NULL DEFAULT '2000-01-01 01:01:01',
`ip` varchar(255) NOT NULL DEFAULT '',
`numeroSession` int(11) NOT NULL AUTO_INCREMENT,
`dateModif` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`adresseMac` varchar(20) NOT NULL,
PRIMARY KEY (`numeroSession`)
) ENGINE=InnoDB AUTO_INCREMENT=133912 DEFAULT CHARSET=latin1;

Malgré cela, le pb de connexion persiste. Le même message apparait toujours :
Incorrect datetime value : '0000-00-00 00:00:00' from column 'dateDeconnexion' at row 1

Pourtant, si dans la base, on exécute par ex:
insert into utilisateurs_connexions(codeUtilisateur,ip, numeroSession,adresseMac) VALUES (855,'134.59.200.12',2,'34-17-EB-BB-8A-B3' smiley sg3bgg29g.gif ;
les valeurs par défaut sont bien affectées sur les zones dates

Je bloque ...




 
 
 
 
 
 
Ψsylvain
Administrateur
stars7.png
Dieu Supreme


avatar
Hors ligne

Nombre de posts: 2121
Inscrit(e) le: 20 novembre 2004
Imprimer Permalien mardi 14 juin 2016 à 22:59  

Bonjour,
Je viens d'aller faire un tour dans les sources de VT : c'est ma faute car j'essaie d'inserrer une date nulle.
100000000000 excuses ! je corrige ca dès que j'ai fini mon après midi de soutenances de stages.
Sylvain




Comme promis, c'est corrigé et déposé en version béta. smiley s8g29g.gif
Sylvain


visual timetabler


E-mail Anti-spam


 
 
 
 
 
 
festoc
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 5
Inscrit(e) le: 02 juin 2016
Imprimer Permalien mercredi 15 juin 2016 à 08:47  

Bonjour,
Merci pour votre réactivité mais je ne trouve rien dans Téléchargement - Version bêta.
Faut-il chercher ailleurs ?
Merci de votre aide




 
 
 
 
 
 
Ψsylvain
Administrateur
stars7.png
Dieu Supreme


avatar
Hors ligne

Nombre de posts: 2121
Inscrit(e) le: 20 novembre 2004
Imprimer Permalien mercredi 15 juin 2016 à 09:06  

Bonjour,
voici le lien pour télécharger la version béta : ici.


visual timetabler


E-mail Anti-spam


 
 
 
 
 
 
festoc
starsj1.png
Newbie


avatar
Hors ligne

Nombre de posts: 5
Inscrit(e) le: 02 juin 2016
Imprimer Permalien mercredi 15 juin 2016 à 09:14  

Grande satisfaction : Enfin un accès sur notre base. Merci beaucoup.




 
 
 
 
 
 
Ψsylvain
Administrateur
stars7.png
Dieu Supreme


avatar
Hors ligne

Nombre de posts: 2121
Inscrit(e) le: 20 novembre 2004
Imprimer Permalien mercredi 15 juin 2016 à 09:18  

YYYYYYYYYYYYYYEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSSS !!!!!!!!!!


visual timetabler


E-mail Anti-spam


 
 
 
 
ERREUR MYSQL  [10 réponses]