Galera,
Estou fazendo a leitura de um arquivo TXT e pretendo salvar estes dados no Banco de Dados Access.
Porém acredito estar fazendo alguma besteira.
public class BD {
public Connection con;
public Statement stm;
public void conectar(){
try
{
/* Tenta se conectar ao Driver */
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
System.exit(0);
}
try
{
/* nomedobanco é o nome que você deu anteriormente ao seu alias */
con = DriverManager.getConnection("jdbc:odbc:BD_ArqTexto","","");
stm = con.createStatement();
}
catch (SQLException sqle)
{
JOptionPane.showMessageDialog(null, "Problema ao conectar!");
System.exit(0);
}
JOptionPane.showMessageDialog(null, "Conectado com sucesso!");
}
public void Desconectar(){
try
{
con.close();
}
catch (SQLException sqle)
{
JOptionPane.showMessageDialog(null, "Problema ao desconectar!");
System.exit(0);
}
}
public void Processamento() throws SQLException{
String leitor = null;
try{
FileInputStream stream = new FileInputStream("C://ARQ_texto/Log/Log_ControlM_1.txt");
InputStreamReader streamReader = new InputStreamReader(stream);
BufferedReader reader = new BufferedReader(streamReader);
while( (leitor=reader.readLine() ) != null ) {
if (leitor.contains("ABENDED")){
String arquivoAbend = leitor;
String[] novoArq = arquivoAbend.split(" ");
String data = novoArq[2];
String hora = novoArq[3];
String odate = novoArq[4];
String job = novoArq[13].substring(0,8);
String job_ID = novoArq[13].split("/")[1];
String Ocorrencia = novoArq[15];
// SQL de Inserção no banco
String query = "INSERT INTO ERROS(Data,Hora,Odate,Job,job_ID,Ocorrencia)VALUES(?,?,?,?,?,?)";
PreparedStatement stmt = con.prepareStatement(query);
stmt.setString(1, data);
stmt.setString(2, hora);
stmt.setString(3, odate);
stmt.setString(4, job);
stmt.setString(5, job_ID);
stmt.setString(6, Ocorrencia);
stmt.execute();
stmt.close();
}
}
JOptionPane.showMessageDialog(null, "Dados Inseridos");
reader.close();
streamReader.close();
stream.close();
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
O meu arquivo é separado por espaço, então criei um array de string conforme acima para pegar os campos
E usei os indices deste array para adicionar as informações em variaveis e preciso pegar estes valores para adicionar no banco de dados. Mas não estou conseguindo.
O que estou fazendo de errado ?
Obrigado,