我想使用Oracle SQL Developer连接到MySQL服务器,但禁用了自动提交。默认情况下,所有MySQL连接都启用了自动提交,这很奇怪。
未选中SQL Developer中的全局设置,
set autocommit=0;
导致错误
设置autocommit脚本命令强制关闭,因为连接级别自动提交已启用。
在连接的设置中除了主机名,端口和数据库选择的下拉框之外没有其他选项。
我正在使用SQL Developer 3.2.10和最新的JDBC连接器5.1。
答案 0 :(得分:10)
在Oracle SQL Developer 4 中,设置已移动:
工具>偏好>数据库>高级>自动提交
默认为关闭。
替代:
set autocommit off;
答案 1 :(得分:3)
如果您尝试使用
,则会遇到错误start transaction;
-- Your SQL statements
commit;
...在SQLDeveloper的MySQL数据库中开箱即用(正如迈克尔在对另一个答案的评论中提到的那样。)
为了解决Michael在评论中引用的错误,您可以使用以下提示:
/*sqldev:stmt*/start transaction;
-- Your SQL statements
/*sqldev:stmt*/commit;
找到此信息here。
答案 2 :(得分:1)
Outils - >偏好设置 - > Fenetre SQL - >验证自动化交易SQL 取消选中复选框
答案 3 :(得分:1)
您可以启用AutoCommit 点击工具|喜好 打开数据库树 选择工作表参数 检查SQL Worksheet框中的Autocommit
答案 4 :(得分:0)
用'start transaction'和'commit'括起命令。 mysql在'start transaction'上关闭自动提交,直到'commit'或'rollback'被发出
答案 5 :(得分:0)
关闭SqlDeveloper中的自动提交选项。转到工具 - >偏好 - >数据库 - > ObjectViewer参数并取消选中Set Auto Commit On。
答案 6 :(得分:0)
set autocommit=false;--or true
--comment required/**/
/*sqldev:stmt*/start transaction;
--your sql
/*sqldev:stmt*/commit;
/*sqldev:stmt*/rollback;
答案 7 :(得分:-1)
将sqlplus连接为sysadmin并输入命令" SET AUTOCOMMIT OFF"它作为命令关闭。 如果你想检查它是否关闭类型命令" show autocommit"它表现得像 "自动提交OFF"