DBI, DBD::mysql et finish

Le
Mihamina Rakotomandimby
Bonjour,
Salement habitué à ne pas "fermer" mes connexion au serveur de base de
données, j'omets souvent mes "finish" apres un "execute".

Est-ce que le "finish" est implicite (fait automatiquement à la fin du
script qui s'execute)?

--
Huile Essentielle de Camphre http://www.huile-camphre.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Paul Gaborit
Le #18119471
À (at) Fri, 12 Dec 2008 13:18:09 +0300,
Mihamina Rakotomandimby
Salement habitué à ne pas "fermer" mes connexion au serveur de base de
données, j'omets souvent mes "finish" apres un "execute".

Est-ce que le "finish" est implicite (fait automatiquement à la fin du
script qui s'execute)?



Attention : ne pas confondre 'finish' et 'disconnect'...

La méthode 'finish' s'applique à une requête SQL en cours d'exécution
pour indiquer au SGBD qu'on ne souhaite plus récupérer de données via
cette requête.

La méthode 'disconnect' s'applique à la connexion au SGBD pour
indiquer qu'on se déconnecte. Elle est appelée automagiquement à la
fin du script (s'il se termine normalement) mais c'est plus propre de
faire un appel explicite. L'effet sur les transactions en cours
(rollback ou commit automatique) varie en fonction du SGBD en cas
d'appel explicite. En cas d'appel implicite (par arrêt du script),
c'est un rollback systématique pour toutes les transactions en cours.


--
Paul Gaborit - Perl en français -
Publicité
Poster une réponse
Anonyme