Java Connexion.près de restauration?
Java Connexion.près de restauration dans un bloc finally?.
Je sais .Net SqlConnection.fermer le fait.
Avec ce que je pouvais faire des try/finally blocs sans attraper...
Exemple:
try {
conn.setAutoCommit(false);
ResultSet rs = executeQuery(conn, ...);
....
executeNonQuery(conn, ...);
....
conn.commit();
} finally {
conn.close();
}
OriginalL'auteur Antonio | 2008-10-20
Vous devez vous connecter pour publier un commentaire.
Selon la javadoc, vous devriez essayer de valider ou de faire reculer avant d'appeler la méthode close. Les résultats sont définis par l'implémentation.
OriginalL'auteur Joel
Dans un système de base qui j'ai travaillé, il n'y a pas de mal à faire une restauration juste après la validation, donc si vous vous engagez dans le bloc try, et de la restauration dans le enfin, les choses s'engage, tandis que si une exception ou un retour rapide provoque l'engager à être oubliée, la restauration d'annuler la transaction. Donc, le plus sûr est d'
OriginalL'auteur Paul Tomblin
Oracle JDBC driver s'engage sur close() par défaut. Vous ne devriez pas compter sur ce comportement si vous avez l'intention d'écrire multi-plate-forme de code JDBC.
OriginalL'auteur Mr. Shiny and New 安宇
Le comportement est totalement différent entre les différentes bases de données. Exemples:
Oracle
La transaction est validée lors de la fermeture de la connexion avec une transaction (comme @M. Brillant et Nouveau 安宇 déclaré.
SQL Server
Méthode close (SQLServerConnection)
OriginalL'auteur lbergnehr
Il est inutile de restauration dans le bloc finally. Après la validation, et la validation est réussie, pourquoi revenir? Donc, si j'étais vous, je voudrais la restauration dans le bloc catch.
OriginalL'auteur Mean
Pour JDBC MySQL, la mise en œuvre annule la connexion si elle est fermée sans appel de commit ou rollback méthodes.
OriginalL'auteur Adnan Memon