diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java index 2f88c6274c..4e0e633df9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractResultQuery.java @@ -178,8 +178,11 @@ abstract class AbstractResultQuery extends AbstractQuery imple // Fetch several result sets else { results = new ArrayList>(); + boolean anyResults = false; while (ctx.resultSet() != null) { + anyResults = true; + FieldProvider fields = new MetaDataFieldProvider(ctx, ctx.resultSet().getMetaData()); Cursor c = new CursorImpl(ctx, listener, fields, true); results.add(c.fetch()); @@ -192,7 +195,12 @@ abstract class AbstractResultQuery extends AbstractQuery imple } } - ctx.statement().getMoreResults(Statement.CLOSE_ALL_RESULTS); + // Call this only when there was at least one ResultSet. + // Otherwise, this call is not supported by ojdbc... + if (anyResults) { + ctx.statement().getMoreResults(Statement.CLOSE_ALL_RESULTS); + } + ctx.statement().close(); } }