简体   繁体   中英

I' m getting error in java.sql.BatchUpdateException: ORA-00917: missing comma

                            //  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,  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.executeBatch();
                                    con.commit();

                                   // JOptionPane.showMessageDialog(null,"Done");

                                } catch (SQLException e) {
                                    e.printStackTrace();
                                }

This is my output im getting: START java.sql.BatchUpdateException: ORA-00917: missing comma

PROCESS COMPLETED at oracle.jdbc.driver.OraclePreparedStatement.executeLargeBatch(OraclePreparedStatement.java:9711) at oracle.jdbc.driver.T4CPreparedStatement.executeLargeBatch(T4CPreparedStatement.java:1447) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9487) at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:237) at com.jmx.Connection2.waitMethod(Connection2.java:304) at com.jmx.Connection2.main(Connection2.java:173)

You don't need to specify the types, remove the columns types:

"insert into JMX(MAXThreads , currentThreadCount , MaxkeepAliveRequest 
, threadPriority , maxTime , requestCount , bytesReceived , bytesSent 
, processingTime , modelerType , errorCount ) values (?,?,?,?,?,?,?,?,?,?,?)";

Also why are you setting values again (duplicate) after addBatch?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM