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中加注释!不要加注释!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值