2013-07-24 3 views
5

Ich möchte eine Verbindung zu einem MySQL-Server mit Oracle SQL Developer, aber mit Autocommit deaktiviert. Standardmäßig ist für alle MySQL-Verbindungen Autocommit aktiviert, was ziemlich seltsam ist.Deaktivieren Sie Autocommit in SQL Developer bei Verwendung von MySQL

Die globale Einstellung in SQL Developer nicht markiert ist, und

set autocommit=0; 

Ergebnisse in dem Fehler

set autocommit script command forced off, as connection level autocommit is on.

In der Einstellungen der Verbindung keine andere Optionen neben Hostnamen, Port und ein Drop-Down-Box für Datenbankauswahl

Ich benutze SQL Developer 3.2.10 mit dem neuesten JDBC-Konnektor, 5.1.

Antwort

3

Sie werden in einen Fehler laufen, wenn Sie versuchen, und

start transaction; 

-- Your SQL statements 

commit; 

verwenden ... out of the box auf einer MySQL-Datenbank in sqldeveloper (als Michael in einem Kommentar zu einer anderen Antwort erwähnt.)

um um diesen Fehler zu erhalten, die Michael in seinen Erlaütern können Sie den folgenden Hinweis verwenden:

/*sqldev:stmt*/start transaction; 

-- Your SQL statements 

/*sqldev:stmt*/commit; 

Diese Information gefunden here.

+0

Vielen Dank, das funktioniert. – Michael

0

umschließen Sie die Befehle mit 'start transaction' und 'commit'. mysql ausgeschaltet auto-commit auf, bis ‚begehen‘ ‚Transaktion starten‘ oder ‚Rollback‘ ausgegeben wird

+1

Dieses in einem Fehler endet: 'Fehler in Zeile 1 in Befehl starten: START TRANSACTION Fehlermeldung: Datei kann nicht geöffnet: "TRANSACTION.sql"' – Michael

1

Outils -> Einstellungen -> Fenetre SQL -> Validierung automatique de Transaktionen SQL deaktivieren Sie das Kontrollkästchen

+0

Nein, dies schaltet Autocommit bei MySQL-Verbindungen nicht um. – Michael

0

Schalten Sie die Auto-Option in sqldeveloper begehen. Gehe zu Extras -> Einstellungen -> Datenbank -> ObjectViewer-Parameter und deaktiviere das Kontrollkästchen Auto-Commit aktivieren.

+0

'Rollback kann nicht aufgerufen werden, wenn autocommit = true ':-) – Michael

-1

verbinden sqlplus als sysadmin und geben Sie den Befehl "SET AUTOCOMMIT OFF" es ist als Befehl aus. und wenn u es überprüfen wollen ausgeschaltet ist oder nicht der Typ Befehl „show autocommit“ und es zeigen wie „Autocommit OFF“

+0

Diese Frage bezieht sich auf Oracle SQL Developer, der eine Verbindung zu einer MySQL-Datenbank herstellt. Kein sqlplus beteiligt. – Michael

1

Sie auf AutoCommit durch Klicken auf Werkzeuge verwandeln | Vorl Datenbankbaum öffnen wählen Arbeitsblatt Parameter Überprüfen Sie auf der Autocommit in SQL-Arbeitsblatt Box

5

In Oracle SQL Developer die Einstellung bewegt hat:

Tools > Preferences > Database > Advanced > Autocommit

Standard ist ausgeschaltet.

Alternative:

set autocommit off; 
+0

Diese Einstellung wird leider ignoriert, wenn Sie die MySQL-Datenbank verwenden. – Creature

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