Quel type de verrouillage des enregistrements avec ADO et ACCESS ?
1 réponse
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel Carollo
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" wrote in message 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
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" <teddy@wanadoo.fr> wrote in message
news:%23JbcrpwKEHA.1000@TK2MSFTNGP11.phx.gbl...
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.
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" wrote in message 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.