POSTGRESQL:批处理条目0 SELECT

时间:2014-07-28 21:49:39

标签: postgresql

您好我有以下方法调用postgresql中的存储函数。当我使用标准的executequery()方法时,调用工作,但是当我开始使用批处理时,调用不起作用。任何帮助将不胜感激。

public void addstuff3() throws Exception {
 Statement statement = null;
  ResultSet resultSet = null;
  Connection conn = null;
      try {
      // this will load the MySQL driver, each DB has its own driver
      Class.forName("org.postgresql.Driver");
      // setup the connection with the DB.
      conn = DriverManager
          .getConnection("jdbc:postgresql://localhost/newmydb?"
              + "user=new_user&password=password");

   // statements allow to issue SQL queries to the database
      statement = conn.createStatement();
      conn.setAutoCommit(false);
     statement.addBatch("SELECT ADDSTUFF('comp1',     'mdel1','power','PROPERTY','STRING','ON', '1396983600000', 'testing');");
     statement.addBatch("SELECT ADDSTUFF('comp2',     'mdel2','power','PROPERTY','STRING','ON', '1396983600000', 'testing');");
     conn.commit();
     statement.executeBatch();
    } catch (ClassNotFoundException | SQLException e) {
      throw e;
    } finally {
       conn.close();
    //   resultSet.close();
       statement.close();

    }

这是我得到的错误:

Batch entry 0 SELECT ADDSTUFF('comp1', 'mdel1','power','PROPERTY','STRING','ON',     '1396983600000', 'testing') was aborted.  Call getNextException to see the cause.
at     org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Sta    tement.java:2743)
    at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:461)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1928)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:405)
at     org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2892)
at jdbc.testing.MySQLAccess.addIndicators3(MySQLAccess.java:125)
at jdbc.testing.JDBCTesting.main(JDBCTesting.java:21)

有任何帮助吗?我正在使用jdbc和postgresql。

1 个答案:

答案 0 :(得分:1)

好的,感谢@Dave我找到了

e.getNextException()
  1. 打印:

     A result was returned when none was expected
    
  2. 我不应该返回值

  3. 作品!