2013-07-24 46 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; 
相关问题