aí galera, to com um problema que não consigo entender…
tenho uma aplicação que gera um Script SQL com uns 5000 comandos de INSERTs e/ou UPDATEs. Depois pego esse arquivo e vou lendo linha a linha e executando o comando com o seguinte método:
private boolean executaScript(String pathScript) throws Exception{
try{
connOracle.setAutoCommit(true);
BufferedReader br = new BufferedReader(new FileReader(new File(pathScript)));
String sql = null;
int ct = 0;
while((sql = br.readLine()) != null){
ct++;
PreparedStatement st = null;
try{
if(sql != null && !sql.equals("")){
st = connOracle.prepareStatement(sql);
st.executeUpdate();
}
}
catch(Exception e){
log("Erro: " + e.getMessage() + "\r\n");
e.printStackTrace(printStackTrace); e.printStackTrace();
}
finally{
try{ if(st != null) st.close(); }catch(SQLException e){}
}
} // fim WHILE sql
log("Terminou de executar os SQLs\r\n");
}
catch(IOException e){
e.printStackTrace(printStackTrace); e.printStackTrace();
return false;
}
catch(SQLException e){
e.printStackTrace(printStackTrace); e.printStackTrace();
return false;
}
return true;
} // fim executaScript;
mas não sei por qual motivo e isso acontece aleatóriamente (não necessáriamente no mesmo comando sql), na hora de executar o comando a aplicação TRAVA… não faz mais nada, simplesmente trava e fica parada, até no debug qndo passo pela linha "st.executeUpdate();" ele ñ faz mais nada…
chegou a aparecer esse erro uma vez:
C:\Arquivos de programas\Audicon\ServicosAudicon\ServicoAtualizacao>java -jar ServicoAtualizacao.jar
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.BufferStrategyPaintManager.flushAccumulatedRegion(Unknown Source)
at javax.swing.BufferStrategyPaintManager.endPaint(Unknown Source)
at javax.swing.RepaintManager.endPaint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
PS: a Classe que faz td isso extende JFrame e gera além do ScriptSQL, um arquivo de log.

