wdev1
Messages postés29Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 1 avril 2013
-
14 avril 2010 à 19:34
wdev1
Messages postés29Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 1 avril 2013
-
17 avril 2010 à 21:11
Bonjour et merci à tout ceux qui sont à l'ecoute des autres.
est ce que les transactions peuvent s'appliquer au vues locales/distantes ?
michelatoutfox
Messages postés828Date d'inscriptionmardi 5 octobre 2004StatutMembreDernière intervention 7 mai 20131 15 avril 2010 à 07:45
Bonjour,
vaste sujet! en résumé, OUI, bien sur.
un peu plus de détails:
Les transactions peuvent être créées sur le serveur, ou bien côté client, ou bien les 2.
Si tes données sont sur SQL serveur (vues distantes), il faut savoir que tous les ordres exécutés par SQL sont empaquetés dans une transaction implicite, qui est ouverte pendant la connexion (regarde les paramètres de connexion, tu peux choisir si le serveur joue un ROLLBACK ou un COMMIT en cas de déconnexion).
Mais tu peux bien entendu si besoin est demander une transaction explicite au serveur, depuis le code client, y compris en précisant le niveau de transaction.
Si tes données sont sur VFP (vues locales), tu peux au choix ouvrir tes transactions dans ton code, ou bien utiliser les transactions que le générateur de code d'intégrité référentielle va ouvrir pour toi.
si tes tables sont rattachées à un dbc, et que tu as créé des foreign keys et des contraintes d'intégrité, tu peux demander la génération automatique du code des triggers qui assureront cette intégrité référentielle. Et en regardant le code généré, tu vas voir que VFP ouvre une série de transactions imbriquées.
Mais si tu préfères tout faire à la main dans ton code, rien ne t'interdit de commencer par un BEGIN TRANSACTION côté client, puis quand tu le veux de passer un ordre de transaction au serveur, et de ne committer tes transctions sur le client que si le serveur a committé les siennes.
donc, en résumé, OUI.
(PS : j'aborde ce sujet aux prochaines Rencontres Africaines des Développeurs FoxPro, à Nouakchott - Mauritanie - du 13 au 15 mai prochain)