Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1716 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Utilisation du commit et rollback avec ODBC ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation du commit et rollback avec ODBC ?

n°261489
Batman-Fr
powered by caféine
Posté le 05-12-2002 à 11:41:05  profilanswer
 

:hello:
 
j'ai quelques bases en SQL mais je n'ai jamais utilisé commit et rollback alors que ca a l'air d'etre essentiel.
 
J'effectue mes requetes avec le driver ODBC en PHP.
 
Malgré mes recherches, je n'ai trouvé aucun exemple de script utilisant commit et rollback.
 
Pouvez-vous me donner un exemple succint s'il vous plaît afin que je vois comment on utlise ca?
 
merci d'avance :jap:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
mood
Publicité
Posté le 05-12-2002 à 11:41:05  profilanswer
 

n°261504
omega2
Posté le 05-12-2002 à 11:52:57  profilanswer
 

Batman-Fr a écrit a écrit :

:hello:
 
j'ai quelques bases en SQL mais je n'ai jamais utilisé commit et rollback alors que ca a l'air d'etre essentiel.
 
J'effectue mes requetes avec le driver ODBC en PHP.
 
Malgré mes recherches, je n'ai trouvé aucun exemple de script utilisant commit et rollback.
 
Pouvez-vous me donner un exemple succint s'il vous plaît afin que je vois comment on utlise ca?
 
merci d'avance :jap:



Quelle base de données (oracle, access, mysql ?)
Est ce que t'as déjà utiliser des "transactions" avec une base de donnée?
 
Bon, déjà, il me semble que mysql ne possède pas de système de transaction, du coup, pas de commit ou de rollback possible en php.
 
De plus, php fonctionne en système d'envoie immédiat des requêtes de mise à jour et donc sans passer par un cache au niveau de php, donc si la base de donnée n'a pas de système de transaction, je vois pas quand tu veux faire un commit ou un roolback.
 
Pour l'utilisation du commit et du rollback, de manière théorique, ca marche comme suit :
1) on démarre une transaction
2) on envoie les requêtes une par une
3) la base de donnée exécutes les requêtes et stockes les données modifié dans des tables temporaires
4-1) si une requête tombe en erreur, on fait un rollback et la base de donnée se contente d'oublier purement et simplement les mises à jour que tu lui avait demandé depuis le début de la transaction
4-2)si aucune requête tombe en erreur, tu fais un commit et là, la base de donnée stocke les modifications comme elle l'aurait fait s'il y avait pas eu de transaction
5) on referme la transaction et les requêtes suivantes sont géré comme d'habitude.
 
Bon, en pratique, du côté de la base de donnée, c'est surement pas géré tout à fait comme ça mais au moins, mon explication permet de mieux comprendre comment c'est fait.
 
 
Sinon, je n'ai jamais utilisé de transaction en php et donc je n'ai aucun exemple de commit ou roolback à te présenter.

n°261518
Batman-Fr
powered by caféine
Posté le 05-12-2002 à 12:00:54  profilanswer
 

merci :jap: pour ces precisions, je voyais a peu pres comment ca fonctionnait, par contre je ne savais pas que les donnees etaient d'abord stockees dans une table temporaire :)
 
j'attaque une base MS SQL mais via la couche ODBC de PHP
MS SQL gere les transactions, pas de doute la dessus
 
quelqu'un touche aux transactions sous PHP ?


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°261544
omega2
Posté le 05-12-2002 à 12:24:25  profilanswer
 

Batman-Fr a écrit a écrit :

merci :jap: pour ces precisions, je voyais a peu pres comment ca fonctionnait, par contre je ne savais pas que les donnees etaient d'abord stockees dans une table temporaire :)
 
j'attaque une base MS SQL mais via la couche ODBC de PHP
MS SQL gere les transactions, pas de doute la dessus
 
quelqu'un touche aux transactions sous PHP ?



J'ai dit de manière, théorique. ;)
Je sais pas si en pratique, ils font comme ça, ou s'ils verouille les pages contennant les données en attendant le commit ou le rollback afin de mettre vraiment les données à jours.
De plus, la pluspart des gestionnaires de bases de données ont un journal des modifications a venir ou effectué et ca m'étonerait pas que certains d'entre eux, mélange le vérouillage des pages avec l'utilisation de ce journal afin de faire desuite les modifs (gain de temps au moment du commit au détriment du rollback) sans les rendre publique (vérouillage des données) tout en étant capable d'effacer, en cas de rollback, les modifs qui ont été faite.

n°261604
cyp en for​sse
Toggenburg enthusiast
Posté le 05-12-2002 à 14:04:35  profilanswer
 

Rien à battre que se soit du PHP par ODBC  :p  
 
Pour utiliser des Commit et Rollback sous MSSQL, tu utilise le T-SQL  intégré.
 
Ecrit tes procèdures stockées avec tes transactions, et appelle les... depuis ce que tu veux.

n°261613
Batman-Fr
powered by caféine
Posté le 05-12-2002 à 14:18:12  profilanswer
 

ok, du coup on aborde quelque chose que ne connais pas du tout :(  
 
tu connais peut etre un site qui explique un peu la chose ? :??:
 
 
:jap:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
n°261616
cyp en for​sse
Toggenburg enthusiast
Posté le 05-12-2002 à 14:23:46  profilanswer
 

C'est trés simple :
 
Tu installe MSSQL si c'est pas déjà fait.
Tu auras dans l'aide toute la doc sur la syntaxe du T-SQL (Transac SQL 92, c'est le language intégré à MSSQL2000).
 
De plus, dans l'analyseur de requête (outil fourni avec MSSQL), tu as des sample de procédures stockées !
 
Le seul truc à vérifier, c'est la syntaxe d'appel des procédure stockées, avec passage de paramètres, depuis PHP... , j'espère que c'est possible  :p

n°261968
Batman-Fr
powered by caféine
Posté le 05-12-2002 à 17:04:15  profilanswer
 

:jap: a nouveau, je vais regarder de ce cote (MSSQL est deja installe, l'analyseur de requete, je l'utilise pour des requetes simple, je vais approfondir ;))
 
:hello:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Utilisation du commit et rollback avec ODBC ?

 

Sujets relatifs
[JAVA] utilisation de JFileChooser dans un JPanel !Utilisation d'un tableau dynamique
Utilisation d'une ArrayListPb d'utilisation des classes enveloppes + algo de tri
connexion ODBC persistante et transactionTomcat 4 - Paramétrage pour une utilisation en production
Utilisation de javax.comm (accès au port série, //, ...) + DEPRECATEutilisation d un formulaire avec interaction d une base odb
[ODBC] Pb avec la baseutilisation de sscanf: :/
Plus de sujets relatifs à : Utilisation du commit et rollback avec ODBC ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR