Systeme de verrous / locks (cbsqlxp)
Modérateurs: Super-Apogea, Super Modérateur
4 messages
|Page 1 sur 1
Systeme de verrous / locks (cbsqlxp)
Bonjour a tous (et a toutes),
Je suis actuellement en train de regarder en detail le fonctionnement du système de verrous (locks) utilise par Sage 100cloud.
Pour l'instant j'ai cru comprendre que tout se basait sur les procedures stockées etendues présentes dans la base de données master: xp_CBIs*Lock, xp_CBLock*, xp_CBUnLock* et xp_CBPurgeLock. Ces procedures font appel a une dll cbsqlxp.dll (que je n'ai pas réussi a décompiler).
Mon principal problème actuel est l'impossibilite d'extraire une liste des locks actifs afin de savoir précisément qui lock quoi (et pourquoi). A prime abord, il ne semble pas y avoir une telle possibilité mais si quelqu'un connait une astuce, je lui en serais très reconnaissant de la partager.
Ma deuxième option consisterait a redévelopper le système de locks / verrous en remplaçant dans master les procedures stockées susnommées. Au vu de la documentation, cela ne semble pas impossible mais il faudrait bien documenter les retours standards des procedures stockées ainsi que leur codes erreurs.
A nouveau, si quelqu'un a déjà explore cette voie, je serais très intéressé d'avoir leur avis sur la question. Et si d'autres personnes sont intéressées par le project, dites-le moi.
Pour commencer:
- post60219.html
- documentation Sage "Déploiement Sage 100c MS SQL Server pour Premium"
Je suis actuellement en train de regarder en detail le fonctionnement du système de verrous (locks) utilise par Sage 100cloud.
Pour l'instant j'ai cru comprendre que tout se basait sur les procedures stockées etendues présentes dans la base de données master: xp_CBIs*Lock, xp_CBLock*, xp_CBUnLock* et xp_CBPurgeLock. Ces procedures font appel a une dll cbsqlxp.dll (que je n'ai pas réussi a décompiler).
Mon principal problème actuel est l'impossibilite d'extraire une liste des locks actifs afin de savoir précisément qui lock quoi (et pourquoi). A prime abord, il ne semble pas y avoir une telle possibilité mais si quelqu'un connait une astuce, je lui en serais très reconnaissant de la partager.
Ma deuxième option consisterait a redévelopper le système de locks / verrous en remplaçant dans master les procedures stockées susnommées. Au vu de la documentation, cela ne semble pas impossible mais il faudrait bien documenter les retours standards des procedures stockées ainsi que leur codes erreurs.
A nouveau, si quelqu'un a déjà explore cette voie, je serais très intéressé d'avoir leur avis sur la question. Et si d'autres personnes sont intéressées par le project, dites-le moi.
Pour commencer:
- post60219.html
- documentation Sage "Déploiement Sage 100c MS SQL Server pour Premium"
- Posteur néophyte
- Messages: 12
- Inscription: Ven 15 Jan 2010 19:34
Re: Systeme de verrous / locks (cbsqlxp)
Pour ceux que ca interesse: https://github.com/pafnow/sage100c-lock-rebuild
- Posteur néophyte
- Messages: 12
- Inscription: Ven 15 Jan 2010 19:34
Re: Systeme de verrous / locks (cbsqlxp)
Bonjour,
C'est en effet un manque dans l'application : pouvoir retourner les Locks en cours.
Seule méthode dispo., mais très longue, tester les locks en cours sur chaque pièce ou objet.
Pas cool.
Tant que ces dll n'offrent pas la méthode pour fournir la liste des locks en cours, je ne vois pas trop comment faire.
Et je ne me lancerait pas dans le redéveloppent des locks de SAGE : on n e sait pas ce que fait la partie cliente....
Rappel du contexte :
Généralement, on a besoin de savoir si un élément (Pièce, écriture, etc.) est lockée avant d'intervenir dessus. Là, les processus SAGE nous donne l'information pour un objet particulier.
Si on veut travailler en masse pour savoir quel est l'ensemble des locks en cours, on n'a pas trop de solution.
Cordialement,
C'est en effet un manque dans l'application : pouvoir retourner les Locks en cours.
Seule méthode dispo., mais très longue, tester les locks en cours sur chaque pièce ou objet.
Pas cool.
Tant que ces dll n'offrent pas la méthode pour fournir la liste des locks en cours, je ne vois pas trop comment faire.
Et je ne me lancerait pas dans le redéveloppent des locks de SAGE : on n e sait pas ce que fait la partie cliente....
Rappel du contexte :
Généralement, on a besoin de savoir si un élément (Pièce, écriture, etc.) est lockée avant d'intervenir dessus. Là, les processus SAGE nous donne l'information pour un objet particulier.
Si on veut travailler en masse pour savoir quel est l'ensemble des locks en cours, on n'a pas trop de solution.
Cordialement,
ASR31
En recherche de missions.
En recherche de missions.
Re: Systeme de verrous / locks (cbsqlxp)
asr31 a écrit:Et je ne me lancerait pas dans le redéveloppent des locks de SAGE : on n e sait pas ce que fait la partie cliente....
En effet, c'est la zone floue.
J'ai bien etudie les requetes effectuees sur le serveur SQL et pour l'instant, j'observe toujours des appels aux stored procedures CB_Lock*. Sachant que ces locks sont maintenues par le serveur SQL, il faudrait que le serveur expose un autre point d'acces (autre que SQL Server)... peu probable.
Je continue mon exploration et informerai ici si je decouvre un probleme.
- Posteur néophyte
- Messages: 12
- Inscription: Ven 15 Jan 2010 19:34
4 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité