Quel type de verrouillage des enregistrements avec ADO et ACCESS ?

Le
teddy
Bonjour,

Lorsque je crée une connexion à une base de données (Access),
j'ai une connexion ADO que j'appellerais "Cnn".

Si je lance une procédure stockée ou tout autre chaîne SQL "MySQLString" qui
écrit et/ou met à jour des données dans les tables avec Cnn.Execute
MySQLString, comment fonctionne le verrouillage des enregistrements dans les
tables ?

Est-ce que ce type d'exécution verrouille à tour de rôle l'enregistrement à
modifier ou bien est-ce que toutes les tables concernées sont verrouillées
jusqu'à la fin de la procédure ?

J'ai apparemment des problèmes lorsqu'une procédure est exécutée en même
temps que des accès en modification dans les tables.

Merci beaucoup pour ces précisions !

Ted
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel Carollo
Le #5069901
Bonjour Teddy!

Avec ADO, le type de verrouillage depend du type de curseur utilise
(ForwardOnly, Keyset, Dynamic ou Static) et du type choisi lors de la
declaration du recordset (ReadOnly, Pessimistic, Optimistic ou Batch).

A noter qu'il est possible d'encapsuler les mises a jour dans une
transaction pour s'assure que "tout ou rien" s'effectue lors des changements
de donnees.

Votre application est-elle multi-utilisateur?

Quand vous dites
J'ai apparemment des problèmes lorsqu'une procédure est exécutée en même
temps que des accès en modification dans les tables.
quelle est l'apparence de ce qui se passe?


Qu'appelez vous "procedure"? S'agit-il d'une procedure stockee?
Ne serait-il pas sage de verifier que la procedure a termine d'executer
avant d'essayer de modifier les donnees (surtout si la procedure agit sur
les donnees qui sont censees etre modifiees)?

J'espere que ca vous donne des pistes...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

" teddy" news:%
Bonjour,

Lorsque je crée une connexion à une base de données (Access),
j'ai une connexion ADO que j'appellerais "Cnn".

Si je lance une procédure stockée ou tout autre chaîne SQL "MySQLString"
qui

écrit et/ou met à jour des données dans les tables avec Cnn.Execute
MySQLString, comment fonctionne le verrouillage des enregistrements dans
les

tables ?

Est-ce que ce type d'exécution verrouille à tour de rôle l'enregistrement
à

modifier ou bien est-ce que toutes les tables concernées sont verrouillées
jusqu'à la fin de la procédure ?

J'ai apparemment des problèmes lorsqu'une procédure est exécutée en même
temps que des accès en modification dans les tables.

Merci beaucoup pour ces précisions !

Ted


Publicité
Poster une réponse
Anonyme