Pessoal, tem alguma coisa de diferente com relação a executar um comando de LOAD DATA INFILE? Já tentei com executeUpdate e estou tentando com executeBatch, mas não estou conseguindo de jeito nenhum.
O erro neste caso é
java.sql.BatchUpdateException: ocorreu um erro durante a formação do lote: ORA-00900: invalid SQL statement
String sql = "LOAD DATA INFILE 'D:\\demo2.txt' "+
"REPLACE INTO TABLE SUAS.TMP_BPC_RMV " +
"FIELDS TERMINATED BY ';' TRAILING NULLCOLS " +
"(CAMPO1, CAMPO2, CAMPO3, CO_SEQ \"SUAS.SQ_BPC.nextval\")";
Connection con = null;
Statement st = null;
Transaction transaction = null;
try {
con = getSession().connection();
st = con.createStatement();
st.addBatch(sql);
//transaction = getSession().beginTransaction();
st.executeBatch();
//transaction.commit();
st.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
try {
//transaction.rollback();
} catch (Exception e1){}
}
Já mudei para D:/demo2.txt ao invés de barra invertida também.
Estou utilizando windows.
Se alguém tiver qualquer dica… obrigado!
OBS.: este getSession() retorna um session do hibernate.