Jdbc groovy从withBatch语句获取警告

Jdbc groovy从withBatch语句获取警告,jdbc,groovy,Jdbc,Groovy,我需要从可能失败的批处理记录中获取SQLWarnings。但是语句会自动关闭,所以我不确定如何获取数据。基本上我想这么做 sql.withBatch(sqlCommand) { stmt -> stmt.addBatch(map) } SQLWarning warning stmt.delegate.getWarnings() while(....) println warning.getMessage() 问题是,即使我从闭包中捕获语句,它仍然会在批处理结束时

我需要从可能失败的批处理记录中获取SQLWarnings。但是语句会自动关闭,所以我不确定如何获取数据。基本上我想这么做

    sql.withBatch(sqlCommand) { stmt ->
        stmt.addBatch(map)
}

SQLWarning warning stmt.delegate.getWarnings()
while(....) println warning.getMessage()

问题是,即使我从闭包中捕获语句,它仍然会在批处理结束时关闭。有什么惯用的常规方法可以做到这一点吗?或者我应该试着用java的方式来做吗?

你能发布一些实际的代码来说明你的问题吗?@tim_yates我不知道我还能向你展示什么。问题归结为,给定一个sql.withBatch命令,有没有办法提取SQLWarnings?@tim_yates这是我实际的批处理命令,底部部分不起作用,因为它不知道stmt对象为什么不提取批处理中的消息,并将它们添加到批处理外部定义的列表中?在批处理执行之前(当关闭结束时),这些消息将不可用