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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Commit ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commit ?

n°2021608
shaoling
Posté le 07-09-2010 à 14:11:34  profilanswer
 

Bonjour,
 
J'utilise une base de données Oracle.
Lorsque je fais une requête INSERT, UPDATE ou DELETE directement sur le SGBD (iSQLPlus, SQL Developer, etc.), je dois faire un commit pour valider la transaction.
 
Pourquoi quand je fais une requête via PHP, ou tout autre langage de programmation, je n'ai pas besoin de faire un commit ? Le commit est-il "comprit" dans les fonctions du langage de programmation ?
 
En espérant que vous pourrez m'éclairer sur ce point,
Je vous remercie d'avance.


---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<
mood
Publicité
Posté le 07-09-2010 à 14:11:34  profilanswer
 

n°2021620
jeff@be
Posté le 07-09-2010 à 14:24:06  profilanswer
 

En effet, le driver Oracle de PHP est par défaut en "auto commit".

n°2021657
skeye
Posté le 07-09-2010 à 15:31:48  profilanswer
 

...et tu peux désactiver ce comportement simplement - par exemple si tu utilises l'extension OCI tu peux utiliser le second paramètre optionnel de oci_execute pour désactiver le mode autocommit, puis utiliser oci_commit et oci_rollback.


Message édité par skeye le 07-09-2010 à 15:32:03

---------------
Can't buy what I want because it's free -
n°2021666
shaoling
Posté le 07-09-2010 à 16:20:50  profilanswer
 

Ah super, en effet j'ignorais cette option d'auto-commit.
Merci à vous deux :-)


---------------
>> Culture-Info : La culture informatique pour tous (projet scolaire) <<
n°2021681
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-09-2010 à 17:48:13  profilanswer
 

jeff@be a écrit :

En effet, le driver Oracle de PHP est par défaut en "auto commit".


c'est une blague ? [:mlc]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2021683
skeye
Posté le 07-09-2010 à 17:52:41  profilanswer
 

Harkonnen a écrit :


c'est une blague ? [:mlc]


Non. Et c'est pareil pour tous les sgbd, à ma connaissance.
Si tu veux démarrer une transaction il faut le faire explicitement.[:dawa]


---------------
Can't buy what I want because it's free -
n°2021710
sircam
I Like Trains
Posté le 07-09-2010 à 20:46:14  profilanswer
 

Harkonnen a écrit :


c'est une blague ? [:mlc]


C'est très répandu, et ce n'est sans doute pas une bonne idée mais bon... C'est ça ou subir des vagues de protestations sur le mode "ça marche pas!"  [:dawa]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°2021726
masklinn
í dag viðrar vel til loftárása
Posté le 07-09-2010 à 21:45:31  profilanswer
 

sircam a écrit :


C'est très répandu, et ce n'est sans doute pas une bonne idée mais bon...


Ça évite de perdre des données et de wedger la DB parce que t'as niqué ta transaction et tu sais même pas qu'il faut la rollbacker. C'est le meilleur défaut puisque c'est celui qui fonctionne pour les gens ne sachant pas ce qu'est une transaction.

 

les autres désactivent l'autocommit et baste. Puis bon la majorité des phpteux partent sur une DB qui ne comprend même pas le concept de transaction alors [:petrus75]

Message cité 1 fois
Message édité par masklinn le 07-09-2010 à 21:47:24

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2021787
esox_ch
Posté le 08-09-2010 à 09:31:36  profilanswer
 

masklinn a écrit :


Ça évite de perdre des données et de wedger la DB parce que t'as niqué ta transaction et tu sais même pas qu'il faut la rollbacker. C'est le meilleur défaut puisque c'est celui qui fonctionne pour les gens ne sachant pas ce qu'est une transaction.
 
les autres désactivent l'autocommit et baste. Puis bon la majorité des phpteux partent sur une DB qui ne comprend même pas le concept de transaction alors [:petrus75]


 
Pas compris  :??:. Qu'est-ce que tu reproches aux transactions de MySQL ?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2021790
masklinn
í dag viðrar vel til loftárása
Posté le 08-09-2010 à 09:44:23  profilanswer
 

esox_ch a écrit :

Pas compris  :??:. Qu'est-ce que tu reproches aux transactions de MySQL ?


Les transactions MySQL? Sur une DB MyISAM?

Spoiler :

et même sur du innodb, pas de sous transactions (transactions récursives ou savepoints) et DDL pas transactionné que ce soit sur les tables (sauf temp), les procs, les functions, les views, les triggers ou les constraints


Message édité par masklinn le 08-09-2010 à 09:48:38

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 08-09-2010 à 09:44:23  profilanswer
 

n°2021792
esox_ch
Posté le 08-09-2010 à 09:49:05  profilanswer
 

Je pensais plutôt à InnoDB..

 

Edit: Ok. Mais donc si t'avais un projet à lancer sur plate-forme non-MS. Tu partirais sur quoi? Postgres?

Message cité 1 fois
Message édité par esox_ch le 08-09-2010 à 09:50:16

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2021795
masklinn
í dag viðrar vel til loftárása
Posté le 08-09-2010 à 09:56:44  profilanswer
 

esox_ch a écrit :

Je pensais plutôt à InnoDB..
 
Edit: Ok. Mais donc si t'avais un projet à lancer sur plate-forme non-MS. Tu partirais sur quoi? Postgres?


Si j'avais à utiliser un RDBMS? Oui, et/ou sqlite en dev ou si quasiment que du read (genre 99% ou 99.9% de read)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Commit ?

 

Sujets relatifs
commit ou abbort d'une operation a la reception d'un messagegit : autorisations de commit
[Oracle] plsql : COMMIT dans une boucle FOR ?WinCVS, pb de commit
[Eclipse/CVS] Comment récupérer le nom de la branche avant le commit ?Faire un Rollback Globale apres plusieur commit successif
[PL/SQL] insert, commit, rollback ds une procédure stockée ???[MySql] transactions via commit
commit?Commit et types de SGBD
Plus de sujets relatifs à : Commit ?


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