我有我的insert.sql文件,里面有10多条记录,使用命令 INSERT INTO
我试着用jooq插入它。
String insertSql = mustacheEngine.getMustacheSource("insert.sql");
dslContext.execute(insertSql);
但我得到了这个错误
Cannot insert multiple commands into a prepared statement
如何解决这个问题?我使用真实的数据库和连接
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);