DB2批量执行DDL 报错 ERRORCODE=-4462, SQLSTATE=NULL

最近用Statement执行DDL的SQL
执行报错
“”未使用标记来传递 SQL。 ERRORCODE=-4462, SQLSTATE=NULL
SQL passed with no tokens.ERRORCODE=-4462, SQLSTATE=NULL”
发现是因为执行的SQL里有SQL(-- 注释)注释
网上找了半天终于找到了官方文档的解释 官方地址链接

 public static Connection connect(String driver,String url, String username, String password, List<String> sqlList) {
 Class.forName(driver);
 Connection connection = (DriverManager.getConnection(url, username, password));
  try {
           connection.setAutoCommit(false);
            st = connection.createStatement();
            for (String sql : sqlList) {
              //这里面不要放注释执行,会报错!!!!!
                 st.addBatch(sql); //①
                //st.executeUpdate(sql);//②
            }
            st.executeBatch();//①
            st.clearBatch();//①
            connection.commit();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            close(connection, st, null);
        }
 }

不要在执行的SQL里加注释!不要在SQL中加注释!不要加注释!

你可能感兴趣的:(DB2,sql,数据库,java)