在SQLException

时间:2016-04-07 15:12:04

标签: java oracle error-handling sqlexception

我有一个循环遍历JSON数组的Java类,解析数据并插入到Oracle数据库表中。

在每次循环迭代中我都有:

try {
    stmt = DBConnection.getConnection().createStatement();
    stmt.executeUpdate(insertTableSQL); 
    }

DBConnection是我创建的类中定义的java.sql.Connection对象。 stmt是一个java.sql.Statement对象。 insertTableSQL是一个具有Oracle插入语句的String。

发生错误时,我想重试插入,跳过可能导致错误的某些列。声明失败了。

  catch (SQLException e) {
      stmt.close();
      stmt = DBConnection.getConnection().createStatement();
      insertTableSQL =  "...";
      stmt.executeUpdate(insertTableSQL);
 }  

这些是错误:

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:999)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)
at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1822)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1787)
at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:280)

我做错了什么?

感谢。

0 个答案:

没有答案