ant执行sql文件

工作中遇到一个需求,需要通过java程序执行sql文件

刚开始使用druid解析sql,然后通过jdbc来执行。后来发现druid有很多时候解析不出来正确的sql语句。

后来换用通过shell脚本调用sqlplus执行,发现有一个比较棘手的问题。当sql文件中包含方法,存储过程或者视图时,如果该对象有编译错误,此时拿不到报错信息导致程序认为sql文件已经正确执行。

  通过查询ant的API发现其支持执行sql文件。需要以下代码即可实现异常抛出

sqlExecutor.treatWarningAsError(true)

特此记录一下。

PS:如上处理虽然可以中断脚本执行,但是已经编译错误的方法并不能回滚。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容