jupyter笔记本:使用%sql magic关键字时禁用自动提交

de90aj5v  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(499)

我用的是 %sql 以及 %%sql 魔术关键字在jupyter笔记本删除sql记录。
我使用以下连接到db:

%load_ext sql
%sql oracle+cx_oracle://user/pwd@tnsname

但是,当我执行delete语句时,之后似乎会自动执行提交:

%%sql
delete from my_table

在这个dml操作之后,当我打开另一个会话并执行 select count(*) from my_table 结果是零。
如何使用禁用自动提交 %sql 魔术关键词?
附录,当我使用 %config SqlMagic.autocommit=False 选择,我有:
用户警告:配置选项 autocommit 不被认可 SqlMagic . 你的意思是 autolimit ?
谢谢

arknldoa

arknldoa1#

我认为您需要在运行连接之前更改配置:

%config SqlMagic.autocommit=False

因为数据库在默认情况下总是true,实际上它总是true。如果你需要连接例如 Impala ,你需要先禁用它。

%config SqlMagic.autocommit=False
%sql impala://hserverhost:port/default?kerberos_service_name=hive&auth_mechanism=GSSAPI

相关问题