注册

如何实现自动执行sql脚本文件

哄哄 2024/09/03 521 2

有个脚本批量执行工具,可以自动执行指定目录下的所有SQL脚本文件,每个SQL脚本文件中都可能包含多个DDL语句。
工具使用JDBC调用mybatis的ScriptRunner来执行脚本文件,但目前发现执行脚本文件时会报错。
产生原因猜测是因为执行一个脚本文件时,脚本中的SQL被认为是包含在同一个BEGIN END块中的。为什么这么猜测是因为在DM管理工具中,对同样的SQL加上BEGIN END就可以重现错误,重现截图如下
image.png

问题:
1、在不要求修改SQL脚本文件内容的前提下,如何实现自动执行SQL脚本文件?除了使用shell命令调用disql来执行是否还有其他方案?
2、如果使用disql来处理,如何在不永久关闭DDL_AUTO_COMMIT的前提下,实现同一个sql脚本文件中的所有SQL语句在同一个事务内?(要求开启自动提交,可以会话级别关闭)

另吐槽下,为啥不能用JDBC来执行脚本文件~ T.T

回答 0
暂无回答
扫一扫
联系客服