PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → SAGE SQL 100 - Conflis lors de lecture/ecriture
SAGE SQL 100 - Conflis lors de lecture/ecriture
Débuté par s.sgagme, 16 fév. 2006 07:05 - 2 réponses
Posté le 16 février 2006 - 07:05
Bonjour,

Lors d'un traitement, je fait des lectures, des ajouts, des modifications et des suppressions sur des fichiers d'une GesCom SAGE SQL 100, par l'intermédiaire d'une connexion OLEDB. J'ai mis ARITHABORT à ON, ainsi que ses autres copains.
Je désactive les TRIGGER sur le fichier avant opération (sauf lecture) puis je les réactive.

N'étant pas seul a accéder à ces fichiers, je me retrouve avec des conflis majeurs. Mon application plante alors qu'elle n'en a pas le droit !

J'ai bien vu les procédures stockées, mais je n'ai pas vu le moyen ni comment les utiliser avec WD9.

Comment faire pour verrouiller/dévérouiller les enregistrements ou les fichiers lors de ces opérations sur les fichiers ?
Comment faire pour notifier, par message(s), au(x) bloqueur(s) de l'accès aux données qu'il est temps de rendre la main ?
Y-a-t-il moyen de forcer ces opérations sur les fichiers, ou déconnecter les bloqueurs, pour ne pas rentrer dans des temps d'attente de libération qui ne seraient pas raisonnables ?


Merci pour vos conseils et idées.
Posté le 16 février 2006 - 17:27
PROCEDURE IsRecordLock(Fichier,cbMarq)
Requete est chaîne = "USE MADATABASE DECLARE @Res int EXECUTE
CB_IsRecordLock '"+Fichier+"',"+cbMarq+",@Res OUTPUT SELECT @Res as
block"
ValRetour est entier = 0

SI PAS SQLExec(Requete,"BLOCK") ALORS
SQLInfoGene("BLOCK")
Info(SQL.MesErreur+RC+requete)
RENVOYER 1
FIN
SI SQLAvance("BLOCK")=0
ValRetour = SQLLitCol("BLOCK",1)
FIN

SQLFerme("BLOCK")

RENVOYER ValRetour

Courlis a utilisé son clavier pour écrire :
Bonjour,

Lors d'un traitement, je fait des lectures, des ajouts, des modifications et
des suppressions sur des fichiers d'une GesCom SAGE SQL 100, par
l'intermédiaire d'une connexion OLEDB. J'ai mis ARITHABORT à ON, ainsi que
ses autres copains. Je désactive les TRIGGER sur le fichier avant opération
(sauf lecture) puis je les réactive.

N'étant pas seul a accéder à ces fichiers, je me retrouve avec des conflis
majeurs. Mon application plante alors qu'elle n'en a pas le droit !

J'ai bien vu les procédures stockées, mais je n'ai pas vu le moyen ni comment
les utiliser avec WD9.

Comment faire pour verrouiller/dévérouiller les enregistrements ou les
fichiers lors de ces opérations sur les fichiers ? Comment faire pour
notifier, par message(s), au(x) bloqueur(s) de l'accès aux données qu'il est
temps de rendre la main ? Y-a-t-il moyen de forcer ces opérations sur les
fichiers, ou déconnecter les bloqueurs, pour ne pas rentrer dans des temps
d'attente de libération qui ne seraient pas raisonnables ?


Merci pour vos conseils et idées.



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Posté le 16 février 2006 - 17:29
PROCEDURE IsRecordLock(Fichier,cbMarq)
Requete est chaîne = "USE MADATABASE DECLARE @Res int EXECUTE
CB_IsRecordLock '"+Fichier+"',"+cbMarq+",@Res OUTPUT SELECT @Res as
block"
ValRetour est entier = 0

SI PAS SQLExec(Requete,"BLOCK") ALORS
SQLInfoGene("BLOCK")
Info(SQL.MesErreur+RC+requete)
RENVOYER 1
FIN
SI SQLAvance("BLOCK")=0
ValRetour = SQLLitCol("BLOCK",1)
FIN

SQLFerme("BLOCK")

RENVOYER ValRetour

Il se trouve que Courlis a formulé :
Bonjour,

Lors d'un traitement, je fait des lectures, des ajouts, des modifications et
des suppressions sur des fichiers d'une GesCom SAGE SQL 100, par
l'intermédiaire d'une connexion OLEDB. J'ai mis ARITHABORT à ON, ainsi que
ses autres copains. Je désactive les TRIGGER sur le fichier avant opération
(sauf lecture) puis je les réactive.

N'étant pas seul a accéder à ces fichiers, je me retrouve avec des conflis
majeurs. Mon application plante alors qu'elle n'en a pas le droit !

J'ai bien vu les procédures stockées, mais je n'ai pas vu le moyen ni comment
les utiliser avec WD9.

Comment faire pour verrouiller/dévérouiller les enregistrements ou les
fichiers lors de ces opérations sur les fichiers ? Comment faire pour
notifier, par message(s), au(x) bloqueur(s) de l'accès aux données qu'il est
temps de rendre la main ? Y-a-t-il moyen de forcer ces opérations sur les
fichiers, ou déconnecter les bloqueurs, pour ne pas rentrer dans des temps
d'attente de libération qui ne seraient pas raisonnables ?


Merci pour vos conseils et idées.



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "