View ProjeQtOr On SourceForge.net
ProjeQtOr - Project Management Tool
Supportez nous sur Capterra
OIN - Open Invention Network
ProjeQtOr free project management software - Support de l'autocommit = 0 ? - ProjeQtOr

Prochaines sessions de formation

Les prochaines formations et démonstrations sont ouvertes, inscrivez-vous rapidement !

 

Démonstration de ProjeQtOr

(gratuit, sur inscription)

Mardi 23 avril (10h30-12h)

Jeudi 16 mai (16h-17h30)

Jeudi 13 juin (10h30-12h)

 
 

Planifiez avec ProjeQtOr

3 et 4 avril (9h - 12h30)

 
 

Administrez avec ProjeQtOr

10 et 11 avril (9h - 12h30)

 

 

 
 

Support de l'autocommit = 0 ?

More
20 Déc 2012 09:35 #1 by LordFPL
Bonjour à tous,

Après quelques prises de têtes à comprendre pourquoi j'avais cette erreur :

2012-12-20 08:56:11 ***** ERROR ***** Exception-[42S02] SQLSTATE[42S02]: Base table or view not found: 1146 Table 'projectorria.parameter' doesn't exist
2012-12-20 08:56:11 ***** ERROR ***** For query : select * from parameter where (idUser is null and idProject is null)
2012-12-20 08:56:11 ***** ERROR ***** Strack trace :
2012-12-20 08:56:11 ***** ERROR ***** #0 Sql->query called at [/model/persistence/SqlElement.php:1133]
2012-12-20 08:56:11 ***** ERROR ***** #1 SqlElement->getSqlElementsFromCriteria called at [/model/Parameter.php:447]
2012-12-20 08:56:11 ***** ERROR ***** #2 Parameter->getGlobalParameter called at [/view/login.php:121]
2012-12-20 08:56:11 ***** ERROR ***** #3 include called at [/tool/projector.php:118]
2012-12-20 08:56:11 ***** ERROR ***** #4 require_once called at [/view/main.php:10]


J'ai enfin compris que ma base de données ayant un autocommit désactivé par defaut (mode transactionnel privilégié), une opération se déroulait mal car la table créé précédement et qu'il s'attendait à trouver n'avait pas été "commitée" ;)

Pour le moment j'ai solutionné le problème via une solution quick & dirty :

for i in db/*.sql; do sed -i '1iSET AUTOCOMMIT = 1;' $i; done


Pour les prochaines version, un p'tit commit par ci par là serait peut être le bienvenu non ? ;)

Merci en tout cas pour tout le travail effectué sur cette solution :)

Please Connexion or Create an account to join the conversation.

More
20 Déc 2012 10:28 #2 by LordFPL
Je me répond à moi pour ajouter que finallement l'utilisation semble problématique dans ce type de mode : l'insertion auto d'utilisateur ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource :(

Please Connexion or Create an account to join the conversation.

More
20 Déc 2012 11:34 #3 by babynus

ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource

C'est normal.
Quand une nouvelle personne se connecte à l'application via LDAP, elle est insérée en base en tant qu'utilisateur (user) : elle peut se connecter.
Pour que cette personne devienne une ressource, et puisse être affectée, saisir du temps passé, il faut une intervention manuelle d'un manager (admin, CP,...) pour que l'utilisateur soit aussi une ressource : aller dans l'écran des utilisateurs et cocher "est une ressource".

Babynus
Administrator of ProjeQtOr web site

Please Connexion or Create an account to join the conversation.

More
20 Déc 2012 11:38 #4 by babynus

Pour les prochaines version, un p'tit commit par ci par là serait peut être le bienvenu non ?

Ticket #937 pour ajouter la gestion des commits dans les scirpts de maintenance.

Babynus
Administrator of ProjeQtOr web site

Please Connexion or Create an account to join the conversation.

More
20 Déc 2012 11:59 #5 by LordFPL

babynus wrote:

ldap "marchotte"... id user renseigné dans le parameters... mais pas dans resource

C'est normal.
Quand une nouvelle personne se connecte à l'application via LDAP, elle est insérée en base en tant qu'utilisateur (user) : elle peut se connecter.
Pour que cette personne devienne une ressource, et puisse être affectée, saisir du temps passé, il faut une intervention manuelle d'un manager (admin, CP,...) pour que l'utilisateur soit aussi une ressource : aller dans l'écran des utilisateurs et cocher "est une ressource".


Merci beaucoup pour le retour :)
Par contre autant je confirme la manipulation à faire pour déclarer une nouvelle personne après sa connexion en ldap... autant je confirme également qu'il y a un p'tit bug puisque l'utilisateur en question n'apparait pas dans la liste des utilisateurs :(
(alors que dans la base de données, si il modifie ses informations, ces dernières sont bien sauvegardées avec un id dans la table parameter).

Quel est le fichier responsable de l'ensemble des fonctions sql ?
Théoriquement il suffit (après je sais que c'est toujours facile à dire les "ya ka fo kon") de mettre une ligne "$mysqli->autocommit(TRUE);" ou équivalent lors de l'établissement de la connexion à la base.

Please Connexion or Create an account to join the conversation.

More
20 Déc 2012 15:37 #6 by babynus

mettre une ligne "$mysqli->autocommit(TRUE);"

Ce n'est pas à faire systématiquement parce que les mises à jour sont (normalement) transactionnelles.

La partie mise à jour LDAP a peut-être été oubliée.
C'est dans /model/user.php.
Ticket #939 enregistré.

Babynus
Administrator of ProjeQtOr web site

Please Connexion or Create an account to join the conversation.

Moderators: babynusprotion
Time to create page: 0.034 seconds

Paramétrages de cookies

×

Cookies fonctionnels

Ce site utilise des cookies pour assurer son bon fonctionnement et ne peuvent pas être désactivés de nos systèmes. Nous ne les utilisons pas à des fins publicitaires. Si ces cookies sont bloqués, certaines parties du site ne pourront pas fonctionner.

Session

Veuillez vous connecter pour voir vos activités!

Autres cookies

Ce site web utilise un certain nombre de cookies pour gérer, par exemple, les sessions utilisateurs.