2013-07-24 49 views
5

我想使用Oracle SQL Developer連接到MySQL服務器,但禁用了自動提交功能。默認情況下,所有MySQL連接都啓用自動提交,這很奇怪。在使用MySQL時禁用SQL Developer中的自動提交功能

在SQL Developer中的全局設置未被選中,並

set autocommit=0; 

導致錯誤

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

在連接的設置,除了主機名,端口沒有其他的選項和一個下拉框數據庫選擇。

我在最新的JDBC連接器5.1上使用SQL Developer 3.2.10。

回答

3

你會遇到一個錯誤,如果你嘗試使用

start transaction; 

-- Your SQL statements 

commit; 

...開箱在的SQLDeveloper一個MySQL數據庫(如邁克爾在另一個答案的評論中提到。)

爲了解決這個錯誤,邁克爾在他的評論中提到,你可以使用下面的提示:

/*sqldev:stmt*/start transaction; 

-- Your SQL statements 

/*sqldev:stmt*/commit; 

找到這個信息here

+0

非常感謝,這工作。 – Michael

0

用'start transaction'和'commit'括起命令。 MySQL的關閉對「開始交易」,直到「提交」或「回滾」自動提交發出

+1

這將在錯誤結束:'中的錯誤命令開始位於第1行: START TRANSACTION 錯誤報告: 無法打開文件: 「TRANSACTION.sql」' – Michael

1

工具一 - >首選項 - > SQL FENETRE - >確認AUTOMATIQUE日交易SQL 取消選中該複選框

+0

不,這不會在MySQL連接上切換自動提交。 – Michael

0

關閉汽車中的SQLDeveloper提交選項。轉到工具 - >首選項 - >數據庫 - > ObjectViewer參數,並取消勾選設置自動提交。

+0

'autocommit = true時無法調用回滾:-) – Michael

-1

連接sqlplus作爲系統管理員並鍵入命令「SET AUTOCOMMIT OFF」它作爲命令關閉。 和如果u要檢查它關閉或不type命令「顯示自動提交」,它表明類似 「自動提交設置」

+0

此問題涉及連接到MySQL數據庫的Oracle SQL Developer。沒有涉及sqlplus。 – Michael

1

您可以通過點擊 在工具啓用自動提交|首 打開數據庫樹 選擇工作表中的參數SQL工作表箱

5

檢查自動提交Oracle SQL Developer中設置移動:

Tools > Preferences > Database > Advanced > Autocommit

默認是關閉的。

備選:

set autocommit off; 
+0

不幸的是,當你使用MySQL數據庫時,這個設置被忽略。 – Creature

0
set autocommit=false;--or true 
--comment required/**/ 
/*sqldev:stmt*/start transaction; 
--your sql 
/*sqldev:stmt*/commit; 
/*sqldev:stmt*/rollback; 
相關問題