oracle – JDBC连接默认autoCommit行为
我正在使用JDBC连接到Oracle。我测试了connection.setAutoCommit(false)vs connection.setAutoCommit(true)并且结果如预期的那样。
虽然默认情况下,连接应该像AutoCommit(true)一样工作[如果我错了就纠正我],但是没有记录被插入,直到connect.commit()被调用。关于默认行为的任何建议? String insert = "INSERT INTO MONITOR (number,name,value) VALUES (?,?,?)"; conn = connection; //connection details avoided preparedStmtInsert = conn.prepareStatement(insert); preparedStmtInsert.execute(); conn.commit();从 Oracle JDBC documentation:
另一件事就是 – 你忽略了连接创建的细节,所以我只是猜测 – 如果你正在使用一些框架,或从数据源或连接池获取一个连接,那么这些框架/池/数据源可能会关闭自动提交 – 解决方案是永远不信任默认设置;-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |