Sureté des développements Sage 6 ODBC base propriétaire
Modérateurs: Super-Apogea, Super Modérateur
9 messages
|Page 1 sur 1
Sureté des développements Sage 6 ODBC base propriétaire
Bonjour à tous,
Comment faites vous pour sécuriser un peu vos développements ?
Les transactions ne sont pas supportées par le pilote ODBC.
Je vois mal comment, si par exemple, je créé un entête de document, je vais pouvoir savoir que personne ne modifie ce document pendant que je vais créer les lignes.
Quelque chose doit m'échapper, ou alors il faut prier pour que les accès multi-utilisateurs se passent bien !
Comment faites vous pour sécuriser un peu vos développements ?
Les transactions ne sont pas supportées par le pilote ODBC.
Je vois mal comment, si par exemple, je créé un entête de document, je vais pouvoir savoir que personne ne modifie ce document pendant que je vais créer les lignes.
Quelque chose doit m'échapper, ou alors il faut prier pour que les accès multi-utilisateurs se passent bien !
- Contributeur
- Messages: 53
- Inscription: Ven 31 Aoû 2007 14:30
Sureté des développements
Bonjour,
Tu soulèves ici un point intéressant. En théorie, c'est justement le rôle du serveur Sage ...
J'ai un développement de ce style (qui créé des factures à partir d'une application tiers via odbc) et je n'ai eu aucun problème même quand tous les utilisateurs travaillent en même temps, et ça depuis plus d'un an.
Pourvu que ça dure ...
Tu soulèves ici un point intéressant. En théorie, c'est justement le rôle du serveur Sage ...
J'ai un développement de ce style (qui créé des factures à partir d'une application tiers via odbc) et je n'ai eu aucun problème même quand tous les utilisateurs travaillent en même temps, et ça depuis plus d'un an.
Pourvu que ça dure ...
Vous bossez sur Sage, venez bosser au soleil... sge@sge.nc
Re: Sureté des développements
En création de documents, je n'ai pas de soucis particulier car le traitement allant assez vite, il y a peu de chance que quelqu'un ouvre une facture que je viens de créer alors que je créé mes lignes.Mageek_Thib a écrit:... J'ai un développement de ce style (qui créé des factures à partir d'une application tiers via odbc) ...
Mais si je modifie des documents existants, je peux vérifier avant de commencer que je peux ouvrir mon document, et ensuite modifier mes lignes, mais comment verrouiller l'entête (F_DOCENTETE) pour être sûr que personne ne va ouvrir le document alors que je suis en cours de modification des lignes.
J'imagine mal qu'il n'y ai pas de solution autres que de garder les éléments pour pouvoir revenir en arrière manellement et gérer les erreurs ligne à ligne.
- Contributeur
- Messages: 53
- Inscription: Ven 31 Aoû 2007 14:30
Re: Sureté des développements
Comme je le dis au dessus, le pilote va m'envoyer une erreur quand j'ouvre l'entête (plutôt quand je vais faire un update), mais je n'ai aucun moyen (à ma connaissance) de la verrouiller.stephane3381 a écrit:si le document est ouvert l'odbc doit te renvoyer un message d'erreur donc il y a pas de souci à avoir
Donc si elle est fermée quand je lance mon traitement, quelqu'un l'ouvre ensuite alors que mon traitement n'est pas fini. Je ne vois pas comment le détecter (sauf de faire une modification de l'entête à chaque modification de ligne, et encore !!!!).
Si je pouvais faire une transaction, j'aurai la possibilité de grouper les traitements sur l'entête et les lignes et donc éviter le problème.
Mais l'idéal serait d'avoir accès au système interne que Sage utilise pour son application qui permettrait de dire : "je verrouille le document xxxx".
- Contributeur
- Messages: 53
- Inscription: Ven 31 Aoû 2007 14:30
je me casse le nez dessus aussi. j'ai un dev sur une base sql,malheureusement je ne vois pas comment il bloque l'enregistrement et par qui (ce serait utile de connaitre qui se trouve sur un enregistrement)
en sql (si tu es en sql)
ils font appel à une procedure stockée cb_lock_record qui elle meme appelle une autre procedure
sur la base master.xp_cblockrecord apres je perds la trace du stockage.
il envoie à cette procedure le cbmarq de l'enregistrement
en sql (si tu es en sql)
ils font appel à une procedure stockée cb_lock_record qui elle meme appelle une autre procedure
sur la base master.xp_cblockrecord apres je perds la trace du stockage.
il envoie à cette procedure le cbmarq de l'enregistrement
- Super Contributeur
- Messages: 222
- Inscription: Sam 5 Mai 2007 20:13
Non je ne suis pas en sql, c'est bien mon problème. Je n'arrive pas à croire qu'il n'y ai aucune solution, mais ?vrp2 a écrit:... en sql (si tu es en sql)
ils font appel à une procedure stockée cb_lock_record qui elle meme appelle une autre procedure ...
- Contributeur
- Messages: 53
- Inscription: Ven 31 Aoû 2007 14:30
Re: Sureté des développements
Bonjour,
J’ai crée l’entête de document c’est bon. Mais je n’arrive pas à insérer plusieurs enregistrements dans la table F_DOCLIGNE.
L’erreur est ‘Le numéro de la ligne existe déjà’
J’utilise GestCom propriétaire et un ODBC. Et voici les deux requêtes.
F_Docentete :
INSERT INTO F_Docentete (DO_Domaine, DO_Type, DO_Piece, DO_Date, DO_Tiers, DE_No, CT_NumPayeur, DO_Expedit, DO_Condition, DO_Tarif,DO_TypeColis,N_CatCompta,CG_Num,DO_Statut,DO_BlFact,DO_Period,LI_No) VALUES
(0,6,'FDA80001','2008-05-31','CAISSE1',3,'CAISSE1',1,1,1,1,1,'4110000',2,0,1,31)
F_Docligne :
INSERT INTO F_Docligne (DO_Domaine,DO_Type,CT_Num,DO_Date,DO_Piece,DL_Ligne,AR_Ref,
EU_Qte,DL_Valorise,DL_Qte,DE_No)
VALUES (0,6,'CAISSE1','2008-05-31','FDA80001',10000,'BAAR01',1,1,1,3)
Si je refais l’exécution d’un autre insert pour de la requête F_DOCLIGNE l’erreur suivante s’affiche ‘Le numéro de la ligne existe déjà’.
Merci d’avance pour la réponse.
J’ai crée l’entête de document c’est bon. Mais je n’arrive pas à insérer plusieurs enregistrements dans la table F_DOCLIGNE.
L’erreur est ‘Le numéro de la ligne existe déjà’
J’utilise GestCom propriétaire et un ODBC. Et voici les deux requêtes.
F_Docentete :
INSERT INTO F_Docentete (DO_Domaine, DO_Type, DO_Piece, DO_Date, DO_Tiers, DE_No, CT_NumPayeur, DO_Expedit, DO_Condition, DO_Tarif,DO_TypeColis,N_CatCompta,CG_Num,DO_Statut,DO_BlFact,DO_Period,LI_No) VALUES
(0,6,'FDA80001','2008-05-31','CAISSE1',3,'CAISSE1',1,1,1,1,1,'4110000',2,0,1,31)
F_Docligne :
INSERT INTO F_Docligne (DO_Domaine,DO_Type,CT_Num,DO_Date,DO_Piece,DL_Ligne,AR_Ref,
EU_Qte,DL_Valorise,DL_Qte,DE_No)
VALUES (0,6,'CAISSE1','2008-05-31','FDA80001',10000,'BAAR01',1,1,1,3)
Si je refais l’exécution d’un autre insert pour de la requête F_DOCLIGNE l’erreur suivante s’affiche ‘Le numéro de la ligne existe déjà’.
Merci d’avance pour la réponse.
- Posteur néophyte
- Messages: 7
- Inscription: Dim 25 Mai 2008 15:00
- Localisation: algérie
Re: Sureté des développements
rabah a écrit:... INSERT INTO F_Docligne (DO_Domaine,DO_Type,CT_Num,DO_Date,DO_Piece,DL_Ligne,AR_Ref,
EU_Qte,DL_Valorise,DL_Qte,DE_No)
VALUES (0,6,'CAISSE1','2008-05-31','FDA80001',10000,'BAAR01',1,1,1,3)
Si je refais l’exécution d’un autre insert pour de la requête F_DOCLIGNE l’erreur suivante s’affiche ‘Le numéro de la ligne existe déjà’...
Je ne suis pas sûr que l'on soit sur le même sujet
Pour ce qui te concerne, le message Sage semble clair.
Il te signale que tu as 2 lignes avec le même numéro de ligne.
As-tu fais évoluer entre tes 2 insert, DL_Ligne qui est a 10000 sur ton premier insert.
Il doit passer à 20000 pour ton 2° insert.
- Contributeur
- Messages: 53
- Inscription: Ven 31 Aoû 2007 14:30
9 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités