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

  FORUM HardWare.fr
  Programmation
  ASP

  Une commande sql "rollback" en asp ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une commande sql "rollback" en asp ?

n°613652
Davjack
Asta la vista miam miam !!!
Posté le 16-01-2004 à 16:46:12  profilanswer
 

Avec une requète sql en asp, est-ce possible de faire un rollback pour par exemple annuler une commande DELETE ?
 
Et si c'est possible, comment faire ?
 
J'ai déjà essayer de mettre une commande "rollback" juste après la commande "DELETE" sans fermer la connection mais ça ne marche pas....  :(

mood
Publicité
Posté le 16-01-2004 à 16:46:12  profilanswer
 

n°613722
archangel
Un homme Une vision
Posté le 16-01-2004 à 18:49:58  profilanswer
 

Faire une recherche sur les transactions en SQL ou ASP.


---------------
J'suis timide - Prêt à mourir, mais pas à vivre - Je suis vraiement très fatigué ... - more than meets the eye
n°613764
nraynaud
lol
Posté le 16-01-2004 à 19:27:57  profilanswer
 

davjack a écrit :

Avec une requète sql en asp, est-ce possible de faire un rollback pour par exemple annuler une commande DELETE ?
 
Et si c'est possible, comment faire ?
 
J'ai déjà essayer de mettre une commande "rollback" juste après la commande "DELETE" sans fermer la connection mais ça ne marche pas....  :(  

ta base doit être en mode commit par statement, je sais plus comment on change ça.
 
mais commence ta séquence par "begin" ça devrait ouvrir une transaction (donc tu auras savepoint et rollback de dispo). par contre n'oublie pas que si tu oublies le "commit" à la fin, tu perds tout.


Message édité par nraynaud le 16-01-2004 à 19:28:19

---------------
trainoo.com, c'est fini
n°614010
ToxicAveng​er
Posté le 16-01-2004 à 23:12:09  profilanswer
 

tu commences par Begin not Atomic et tu valides par Commit (c'est le mode transactionné)

n°614014
MagicBuzz
Posté le 16-01-2004 à 23:13:18  profilanswer
 

http://www.devguru.com/Technologie [...] intro.html
 
Regarde du côté des méthodes de l'objet "connection"


Message édité par MagicBuzz le 16-01-2004 à 23:14:30
n°614017
MagicBuzz
Posté le 16-01-2004 à 23:15:58  profilanswer
 

PS: et c'est un peu plus propre que des begin et des commit de goret, parceque y'a pas deux SGBD qui utilisent la même syntaxe, alors niveau portabilité c'est 0.


Message édité par MagicBuzz le 16-01-2004 à 23:16:14
n°614020
MagicBuzz
Posté le 16-01-2004 à 23:18:59  profilanswer
 

Par exemple, avec Oracle, pour valider des bouts de transaction tout en pouvant les rollbacker quand même, c'est SAVEPOINT la syntaxe. Avec SQL Server, c'est moins proc, il support les transactions imbriquées. Avec ADO et ses méthodes, tu gères transactions imbriquées sans te soucier du joyeux bordel qui est derrière.

n°614025
nraynaud
lol
Posté le 16-01-2004 à 23:22:18  profilanswer
 

Oracle aussi supporte les transactions imbriquées. C'est d'ailleur dans la norme.


---------------
trainoo.com, c'est fini
n°614027
MagicBuzz
Posté le 16-01-2004 à 23:23:17  profilanswer
 

sauf que c'est avec l'instruction savepoint (et globalement, ça marche pas pareil)
 
tu peux pas avoir plusieurs begin trans à la queue leue-leue (ou alors c'est nouveau, sur la 8.0.5 je peux te certifier que c'est impossible)


Message édité par MagicBuzz le 16-01-2004 à 23:23:38
n°614031
MagicBuzz
Posté le 16-01-2004 à 23:25:39  profilanswer
 

A ma connaissance, ce code marche pas sous Oracle :
 


BEGIN TRAN T1
UPDATE table1 ...
BEGIN TRAN M2 WITH MARK
UPDATE table2 ...
SELECT * from table1
COMMIT TRAN M2
UPDATE table3 ...
COMMIT TRAN T1


 
(tiré de la doc SQL Server 2000)

mood
Publicité
Posté le 16-01-2004 à 23:25:39  profilanswer
 

n°614032
MagicBuzz
Posté le 16-01-2004 à 23:28:03  profilanswer
 

Pis y gère ça Oracle ? (jamais testé)
 


USE pubs
GO
BEGIN DISTRIBUTED TRANSACTION
UPDATE authors
   SET au_lname = 'McDonald' WHERE au_id = '409-56-7008'
EXECUTE remote.pubs.dbo.changeauth_lname '409-56-7008','McDonald'
COMMIT TRAN
GO


 
(une transaction dont le scope s'applique à plusieurs bases)

n°614033
nraynaud
lol
Posté le 16-01-2004 à 23:28:21  profilanswer
 

http://asia.cnet.com/itmanager/tec [...] 1-2,00.htm
je connais pas la version.


---------------
trainoo.com, c'est fini
n°614041
MagicBuzz
Posté le 16-01-2004 à 23:33:23  profilanswer
 

ha ouais ! t'ain y sont relous, y peuvent pas se décider à garder chacuns leurs spécificités ? :o
 
sinon, oracle gère les transactions nommées ? c'est pratique pour commiter (ou rollbacker) plusieurs niveau d'imbrication d'un coup.
 
style :
 
begin tran globale
 
traîtement 1
 
begin tran mini
 
traîtement 2
 
commit mini
 
begin tran toto1
 
traîtement 3
 
begin tran toto2
 
traîtement 4
 
if je suis pas heureux
   rollback globale
end if
 
commit toto2
commit toto1
commit globale
 
ca peut être utile dans des fonctions récursives notamment, s'il se produit une erreur grave au niveau N et qu'on ne peut pas propager l'erreurs aux niveaux inférieurs. on rollback tout, et on arrête tout, zou :D

n°614062
nraynaud
lol
Posté le 16-01-2004 à 23:48:59  profilanswer
 

MagicBuzz a écrit :

ha ouais ! t'ain y sont relous, y peuvent pas se décider à garder chacuns leurs spécificités ? :o
 
sinon, oracle gère les transactions nommées ? c'est pratique pour commiter (ou rollbacker) plusieurs niveau d'imbrication d'un coup.

http://www.cse.unsw.edu.au/~maliba [...] mands.html
 
'faudrait que tu laches un peu SQL Server et que tu passe à google aussi.


---------------
trainoo.com, c'est fini
n°614133
MagicBuzz
Posté le 17-01-2004 à 00:24:36  profilanswer
 

:heink: je vois pas trop le sens de ton poste.
 
1) prends oracle 8.0.5, il ne supporte pas ces trucs.
2) je pose une question. t'as l'air de savoir, alors autant te la poser à toi plutôt qu'à google, sinon je vois pas trop à quoi sert un forum


Message édité par MagicBuzz le 17-01-2004 à 00:24:58
n°614144
nraynaud
lol
Posté le 17-01-2004 à 00:31:00  profilanswer
 

j'en sais rien, moi les BDD ça me casse les couilles, mais comme je sors de 3 ans de cours dessus, je connais un peu et je suis capable de pas me laisser embobiner par des comparaisons douteuses entre savepoint et begin.  
 
Maintenant sortir des informations précises, ça se fait avec google, à moins d'être une encyclopédie vivante, ce que je ne suis pas.
 
Si je suis venu c'est parce que je surveille les topics qui ont peu de réponses (qui bien souvent se règlent à coup de google, d'où ma citation).


---------------
trainoo.com, c'est fini
n°614317
MagicBuzz
Posté le 17-01-2004 à 11:12:32  profilanswer
 

de toute façon, dans tous les cas, c'est pas avec les instructions begin et rollback qu'on peut faire proprement des trasactions en ASP, mais en passant par les méthodes d'ADO, donc savepoint, transaction nommées, et autres joyeusetés, on s'en fout un petit peu à la limite :p


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

  Une commande sql "rollback" en asp ?

 

Sujets relatifs
bash : recuperer une seul ligne, du resultat d'un commande[DOS] commande 'SET' et les nombres....
VBA : commande saveas d'un doc word depuis une appli accessCommande copy
make $(shell ...) et commande complexprog simple : creer un fichier txt commandé sous visual basic
script php sur commandecommande pour la saisie d'un paramètre ?
[PHP] Commande switch : meilleur méthode[SGBD]acceder au demon mysql de easyphp en ligne de commande?
Plus de sujets relatifs à : Une commande sql "rollback" en asp ?


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