#417: Amélioration de la  compatibilité avec Mysql 5
---------------------+------------------------------------------------------
 Reporter:  JMD      |        Owner:  MoYo  
     Type:  bug      |       Status:  closed
 Priority:  normal   |    Milestone:  0.65  
Component:  Général  |      Version:  0.60  
 Severity:  major    |   Resolution:  fixed 
 Keywords:           |           Cd:        
---------------------+------------------------------------------------------
Changes (by moyo):

  * cd:  =>
  * type:  => bug
  * summary:  Am�oration de la  compatibilit�vec Mysql 5 => Amélioration de
              la  compatibilité avec Mysql 5

Old description:

> {{{
> J'ouvre une tache pour cela car il y a pas mal de retours à ce sujet :
>

>
> ADDITIONAL INFORMATION:
> Bug issu forum : Ayant essayé d'activer les informations commerciales sur
> des ordinateurs et des périphériques reçus ces derniers temps
> (imprimantes, écran etc..), chose que j'avais déjà faite avec une version
> précédente de GLPI (probablement la 0.5), j'ai été confronté à un
> problème : lorsque je clique sur l'activation des informations
> commerciales (http://192.168.1.1/glpi/infocoms/infoco …
> mp;add=add), la page se recharge, mais sans les activer, et sans message
> d'erreur.
> Après quelques investigations, je pense avoir trouvé d'où vient l'erreur.
>
> La requête SQL qui est envoyée à MySql est la suivante :
>
> INSERT INTO glpi_infocoms (device_type,FK_device) VALUES ('3','12')
>
> Cette requête est refusée par mon serveur MySql en version 5.0.16 qui me
> renvoie l'erreur "Field 'comments' doesn't have a default value".
> Et, en effet, le champ 'comments' ne peut pas être à NULL, et du fait de
> son type TEXT, ne peut pas avoir de valeur par défaut comme les VARCHAR.
>
> Plusieurs solutions possibles :
> - la plus simple est de faire en sorte que 'comments' puisse être à NULL,
> ce qui me semble le plus logique vu que ce n'est qu'un champ de
> commentaire; les contraintes NOT NULL étant en général pour les clés
> étrangères ou autre champs importants.
> - rajouter dans la requête le champ 'comments' avec la valeur ' '
> - changer le type du champ, en mettant VARCHAR au lieu de TEXT
>
> J'ai essayé avec GLPI la première et la dernière solution avec succès sur
> mon poste personnel.
> Il est à noter, que j'obtiens l'erreur sur mon serveur de production, et
> également sur ma machine de développement personnelle.
>
> Serveur :
> Windows 2003 Server
> IIS 6
> PHP 5.0.5
> MySql 5.0.15
> GLPI 0.6+Patch 1
>
> Ordinateur personnel :
> Windows XP Pro
> Apache 2.0.55
> PHP 5.1.1
> MySql 5.0.16
> GLPI 0.6 et la dernière version de développement
>
> Comme j'ai eu le même souci pour les prêts de nouveaux matériels que j'ai
> reçus, je présume que c'est le même problème qu'avec l'activation des
> informations commerciales.
>
> Si vous souhaitez d'autres détails, je reste à votre disposition.
> }}}

New description:

 {{{
 J'ouvre une tache pour cela car il y a pas mal de retours à ce sujet :



 ADDITIONAL INFORMATION:
 Bug issu forum : Ayant essayé d'activer les informations commerciales sur
 des ordinateurs et des périphériques reçus ces derniers temps
 (imprimantes, écran etc..), chose que j'avais déjà faite avec une version
 précédente de GLPI (probablement la 0.5), j'ai été confronté à un problème
 : lorsque je clique sur l'activation des informations commerciales
 (http://192.168.1.1/glpi/infocoms/infoco … mp;add=add), la page se
 recharge, mais sans les activer, et sans message d'erreur.
 Après quelques investigations, je pense avoir trouvé d'où vient l'erreur.

 La requête SQL qui est envoyée à MySql est la suivante :

 INSERT INTO glpi_infocoms (device_type,FK_device) VALUES ('3','12')

 Cette requête est refusée par mon serveur MySql en version 5.0.16 qui me
 renvoie l'erreur "Field 'comments' doesn't have a default value".
 Et, en effet, le champ 'comments' ne peut pas être à NULL, et du fait de
 son type TEXT, ne peut pas avoir de valeur par défaut comme les VARCHAR.

 Plusieurs solutions possibles :
 - la plus simple est de faire en sorte que 'comments' puisse être à NULL,
 ce qui me semble le plus logique vu que ce n'est qu'un champ de
 commentaire; les contraintes NOT NULL étant en général pour les clés
 étrangères ou autre champs importants.
 - rajouter dans la requête le champ 'comments' avec la valeur ' '
 - changer le type du champ, en mettant VARCHAR au lieu de TEXT

 J'ai essayé avec GLPI la première et la dernière solution avec succès sur
 mon poste personnel.
 Il est à noter, que j'obtiens l'erreur sur mon serveur de production, et
 également sur ma machine de développement personnelle.

 Serveur :
 Windows 2003 Server
 IIS 6
 PHP 5.0.5
 MySql 5.0.15
 GLPI 0.6+Patch 1

 Ordinateur personnel :
 Windows XP Pro
 Apache 2.0.55
 PHP 5.1.1
 MySql 5.0.16
 GLPI 0.6 et la dernière version de développement

 Comme j'ai eu le même souci pour les prêts de nouveaux matériels que j'ai
 reçus, je présume que c'est le même problème qu'avec l'activation des
 informations commerciales.

 Si vous souhaitez d'autres détails, je reste à votre disposition.
 }}}

-- 
Ticket URL: <https://dev.indepnet.net:8080/glpi/ticket/417#comment:5>
GLPI <https://dev.indepnet.net:8080/glpi/>
Gestion Libre de Parc Informatique
_______________________________________________
Glpi-bugtrack mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-bugtrack

Répondre à