J'aimerais me connecter à un serveur MySQL avec Oracle SQL Developer, mais avec autocommit désactivé. Par défaut, la validation automatique est activée pour toutes les connexions MySQL, ce qui est plutôt étrange.
Le paramètre global dans SQL Developer n'est pas coché, et
set autocommit=0;
entraîne l'erreur
la commande de script set autocommit est désactivée, car le niveau de connexion autocommit est activé.
Dans les paramètres de connexion, il n'y a pas d'autre option que le nom d'hôte, le port et une liste déroulante pour la sélection de la base de données.
J'utilise SQL Developer 3.2.10 avec le dernier connecteur JDBC, 5.1.
Vous rencontrerez une erreur si vous essayez d'utiliser
start transaction;
-- Your SQL statements
commit;
... out of the box sur une base de données MySQL dans SQLDeveloper (comme Michael l'a mentionné dans un commentaire à une autre réponse.)
Afin de contourner l'erreur mentionnée par Michael dans son commentaire, vous pouvez utiliser l'indicateur suivant:
/*sqldev:stmt*/start transaction;
-- Your SQL statements
/*sqldev:stmt*/commit;
Trouvé cette information ici .
Dans Oracle SQL Developer 4 le paramètre a été déplacé:
Outils> Préférences> Base de données> Avancé> Autocommit
La valeur par défaut est désactivée.
Alternative:
set autocommit off;
Vous pouvez activer AutoCommit en cliquant sur Outils | Préférences Ouvrir l’arborescence de la base de données, sélectionnez Paramètres de la feuille de calcul. Cochez la case Autocommit dans la feuille de calcul SQL.
Outils -> Préférences -> Fenêtre SQL -> Validation automatique de transactions SQL décochez la case
Désactivez l'option de validation automatique dans Sql Developer. Allez dans Outils -> Préférences -> Base de données -> Paramètres de la visionneuse d'objets et décochez la case Activer l'auto-validation.
set autocommit=false;--or true
--comment required/**/
/*sqldev:stmt*/start transaction;
--your sql
/*sqldev:stmt*/commit;
/*sqldev:stmt*/rollback;
entourez les commandes avec 'start transaction' et 'commit'. mysql a désactivé l'auto-validation sur 'démarrer la transaction' jusqu'à l'émission de 'commit' ou 'rollback'