jooq从sql文件插入

问题描述 投票:0回答:1

我有我的insert.sql文件,里面有10多条记录,使用命令 INSERT INTO

我试着用jooq插入它。

String insertSql = mustacheEngine.getMustacheSource("insert.sql");
dslContext.execute(insertSql);

但我得到了这个错误

Cannot insert multiple commands into a prepared statement

如何解决这个问题?我使用真实的数据库和连接

java spring mustache jooq
1个回答
0
投票

Vertica不支持在一个准备好的语句中使用多条语句,默认情况下jOOQ总是创建一个JDBC的 PreparedStatement 幕后,见。https:/www.jooq.orgdoclatestmanualsql-executionstatement-type

然而,你可以告诉jOOQ使用静态语句来代替(JDBC Statement), 它应该支持Vertica中的多个语句.

DSLContext ctx = DSL.using(connection, SQLDialect.VERTICA,
  new Settings().withStatementType(StatementType.STATIC_STATEMENT));
ctx.execute(insertSql);
© www.soinside.com 2019 - 2024. All rights reserved.