public void mutiUpdate(String[] sql) throws SQLException {
// Log.log(sql);
//建立数据库连接
conn = DriverManager.getConnection(conStr,userName,passWord);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
try {
for (int i = 0; i < sql.length; i++) {
stmt.addBatch(sql[i]);
// Log.log((String) sql[i]);
}
stmt.executeBatch();
conn.commit();
} catch (SQLException e) {
conn.rollback();
e.printStackTrace();
//throw new SQLException();
// throw e;
}
}
我执行这个方法的时候 就提示 Transactions not supported错误,,而我执行 executeUpdate 都没问题啊!
------解决方案--------------------------------------------------------
那是因为你所访问的数据库没有日志造成的。
要么修改你的程序不使用事务(不推荐),要么请数据库管理员把该数据库配置成有日志方式(我认为通常情况下,数据库都应该配置为带日志的,如果数据库没有日志, 可能是用备份恢复的时候忘记配了)。
------解决方案--------------------------------------------------------
使用ontape -S -B 开事务日志,即可