web-dev-qa-db-fra.com

Désactiver autocommit dans SQL Developer avec MySQL

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.

7
Michael

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 .

3
diadyne

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;
8
RobE

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.

1
Narendra Reddy

Outils -> Préférences -> Fenêtre SQL -> Validation automatique de transactions SQL décochez la case

1
Uttam Kumar

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.

0
Melinda
set autocommit=false;--or true
--comment required/**/
/*sqldev:stmt*/start transaction; 
--your sql
/*sqldev:stmt*/commit;
/*sqldev:stmt*/rollback;
0
Jhonny Lins

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'

0
Tantowi Mustofa