Systeme de verrous / locks (cbsqlxp)

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Systeme de verrous / locks (cbsqlxp)

de pafnow » Mer 3 Juin 2020 03:20

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"
Posteur néophyte
Posteur néophyte
 
Messages: 12
Inscription: Ven 15 Jan 2010 19:34

Re: Systeme de verrous / locks (cbsqlxp)

de pafnow » Mar 9 Juin 2020 08:13

Posteur néophyte
Posteur néophyte
 
Messages: 12
Inscription: Ven 15 Jan 2010 19:34

Re: Systeme de verrous / locks (cbsqlxp)

de asr31 » Lun 29 Juin 2020 13:04

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,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE

Re: Systeme de verrous / locks (cbsqlxp)

de pafnow » Jeu 2 Juil 2020 06:30

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
Posteur néophyte
 
Messages: 12
Inscription: Ven 15 Jan 2010 19:34


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité