Estou tendo problemas de erros do driver JDBC do oracle:
[code]
java.sql.BatchUpdateException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:566)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:9365)
at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:210)
at diegoqueres.gdd.dao.DocumentoPostadoDAO.inserirDocumentosPostados(DocumentoPostadoDAO.java:886)
at diegoqueres.gdd.dao.DocumentoPostadoDAO.executar_PROCESSO_ALIMENTACAO_BASE_MANUAL_02(DocumentoPostadoDAO.java:701)
at diegoqueres.gdd.interfaces.JFrameAdministrativo$13.run(JFrameAdministrativo.java:804)[/code]
O erro ocorre na última instrução do seguinte código, mas não estou conseguindo solucioná-lo. Verifiquei o sql e está sem “;”:
PreparedStatement prepStmt =
getConexaoBD().prepareStatement(
"INSERT INTO CADBUSINESS.GDD_FONTE_DOCTOS_IMPRESSOS " +
"( CIF, BAN, MOVIMENTO, CICLO, MES, ANO, TIPO_DOCTO, FORNECEDOR, DATA_ARQUIVO_FONTE ) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
for (DocumentoPostado doc : documentosPostadosParaInclusao) {
prepStmt.setString(1, doc.getCif());
prepStmt.setLong(2, doc.getBan());
prepStmt.setInt(3, doc.getMovimento());
prepStmt.setByte(4, doc.getCiclo());
prepStmt.setInt(5, doc.getMes());
prepStmt.setInt(6, doc.getAno());
prepStmt.setByte(7, doc.getTipoDoc());
prepStmt.setString(8, doc.getFornecedor());
prepStmt.setDate(9, new java.sql.Date(doc.getDataArquivoFonte().getTime()));
prepStmt.addBatch();
} //fim do laço for
//Instrução onde dá pau...
int status[] = prepStmt.executeBatch();
Vocês podem ver que o SQL está aparentemente normal…