11 Replies Latest reply on Jul 20, 2009 6:00 PM by 707883

    [Jena] Debugging addInBulk()

    707883
      Hello,

      I am evaluating Oracle 11g with the Jena Adaptor 2.0. Currently I am trying to load customer records from one large file in N-TRIPLE format using addInBulk(). I did this successfully with a file with 100 sample records, and now I am trying it with 1000 (just a baby step towards ultimately being able to load all 200,000). Now I am getting the following error:

      [java] - addInBulk: [171042 ] sqle
      [java] java.sql.SQLException: ORA-01843: not a valid month
      [java] ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 781
      [java] ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 1886
      [java] ORA-06512: at "MDSYS.SDO_RDF", line 294
      [java] ORA-06512: at "MDSYS.RDF_APIS", line 542
      [java] ORA-06512: at line 1
      [java]
      [java] at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
      [java] at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:131)
      [java] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:204)
      [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
      [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
      [java] at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
      [java] at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:191)
      [java] at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:950)
      [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
      [java] at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
      [java] at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3488)
      [java] at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:3840)
      [java] at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1086)
      [java] at oracle.spatial.rdf.client.jena.Oracle.executeCall(Oracle.java:474)
      [java] at oracle.spatial.rdf.client.jena.OracleBulkUpdateHandler.addInBulk(OracleBulkUpdateHandler.java:685)
      [java] at oracle.spatial.rdf.client.jena.OracleBulkUpdateHandler.addInBulk(OracleBulkUpdateHandler.java:472)
      [java] at oracle.spatial.rdf.client.jena.OracleBulkUpdateHandler.addInBulk(OracleBulkUpdateHandler.java:439)
      [java] at [redatced].OracleLoader.oracleBatchLoad(Unknown Source)
      [java] at [redacted].OracleLoader.main(Unknown Source)
      [java] java.sql.SQLException: ORA-01843: not a valid month
      [java] ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 781
      [java] ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 1886
      [java] ORA-06512: at "MDSYS.SDO_RDF", line 294
      [java] ORA-06512: at "MDSYS.RDF_APIS", line 542
      [java] ORA-06512: at line 1

      It's certainly possible that there is a glitch in my sample data - but my real question is, how do I debug and track down this problem? I am new to Oracle and I just can't figure out where to look and/or how to get more information about where in the data this is happening, what "month" it is choking on. Is there a log I could be looking at? Some way to turn on additional debugging output? Some clue as to exactly what statement is failing and what data is causing it to fail? I did some regex searching through the original N-TRIPLE source file to see if I could find something that looked like a date with a bad month, but no such date was apparent...

      Thanks very much for any help!
      Steve