如何解决我在java.sql.BatchUpdateException中遇到错误:ORA-00917:缺少逗号
// Statement stmt=con.createStatement();
String SQL = "insert into JMX(MAXThreads number(10),currentThreadCount number(10),MaxkeepAliveRequest number(10),threadPriority number(10),maxTime number(10),requestCount number(10),bytesReceived number(10),bytesSent number(10),processingTime number(10),modelerType varchar2(50),errorCount number(10)) values (?,?,?)";
try (PreparedStatement pst=con.prepareStatement(SQL)) {
pst.setObject(1,memoryMbean);
pst.setObject(2,osMbean);
pst.setObject(3,tmMbean);
pst.setObject(4,smMbean);
pst.setObject(5,grpMbean);
pst.setObject(6,grpMbean1);
pst.setObject(7,grpMbean2);
pst.setObject(8,grpMbean3);
pst.setObject(9,grpMbean4);
pst.setObject(10,grpMbean5);
pst.setObject(11,grpMbean6);
pst.addBatch();
pst.setObject(1,grpMbean6);
pst.executeBatch();
con.commit();
// JOptionPane.showMessageDialog(null,"Done");
} catch (SQLException e) {
e.printStackTrace();
}
这是我的输出即时消息: 开始 java.sql.BatchUpdateException:ORA-00917:缺少逗号
过程已完成 在oracle.jdbc.driver.OraclePreparedStatement.executeLargeBatch(OraclePreparedStatement.java:9711)处 在oracle.jdbc.driver.T4CPreparedStatement.executeLargeBatch(T4CPreparedStatement.java:1447) 在oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9487) 在oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:237) 在com.jmx.Connection2.waitMethod(Connection2.java:304) 在com.jmx.Connection2.main(Connection2.java:173)
解决方法
您无需指定类型,删除列类型:
"insert into JMX(MAXThreads,currentThreadCount,MaxkeepAliveRequest,threadPriority,maxTime,requestCount,bytesReceived,bytesSent,processingTime,modelerType,errorCount ) values (?,?,?)";
为什么还要在addBatch之后再次设置值(重复)?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。