Inserir dados de arquivo .txt em banco MySql

1 resposta
J

Galera,

Tenho que inserir informações de um arquivo .txt em um banco MySql.
O arquivo .txt tem as informações organizadas em linhas e colunas, e são provenientes de uma base de dados oracle.
Exemplo:

José da Silva RG 123456 CPF 123123123-12
Antônio Souza RG 32132135 CPF 456456456-45
Mário Santos RG 2255226 CPF [telefone removido]

Parece que existe uma forma de inserí-las diretamente no banco MySql, através de linha de código eu acho, ou migrando o arquivo .txt pro formato do MySql.
Alguém poderia me ajudar?? Caso seja complicado, teriam um tutorial pra me indicar?

Abraço,

Jucimar.

p.s.: O site retira os excessos de espaços em branco quando envio a mensagem ao fórum. No caso, o nome inicia na coluna 01, “RG” inicia na coluna 24 e “CPF” inicia na coluna 48, repetindo este padrão a cada linha do texto.

1 Resposta

P

Bom cara se eu entendi este código pode te ajudar…

import java.io.*;   
import java.sql.*;   
import java.util.StringTokenizer;   
  
  
class FileToSQL{   
      
   public static void main(String args[]) {   
         
      try {   
            
         Class.forName("org.gjt.mm.mysql.Driver");   
         Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/lucas","","");   
         Statement stm = con.createStatement();   
            
         BufferedReader reader = new BufferedReader(new FileReader("tabela.txt"));   
         String dados[] = new String[3];         
         String linha = reader.readLine();   
         
         while (linha != null) {   
            
            StringTokenizer st = new StringTokenizer(linha,",\"");   
               
            dados[0] = st.nextToken();   
            dados[1] = st.nextToken();   
            dados[2] = st.nextToken();   
               
            stm.executeUpdate("insert into tabela (codigo,sigla,nome) values ('"+dados[0]+"','"+dados[1]+"','"+dados[2]+"')");   
               
            linha = reader.readLine();         
         }   
      }   
      catch (Exception e) {   
            
         System.err.println("Erro: " + e.getMessage());   
      }   
   }   
}

achei neste link: http://www.javafree.org/topic-2807-Ler-txt-e-inserir-cada-linha-em-uma-tabela.html

Bom cara vc pode usar como o carinha deste código fez separando cada dado por virgula, ou usar o método substring para pegar os valores desde que eles tenham uma posição inicial fixa…
Espero ter ajudado , me diga se deu certo

Abraço

Criado 18 de junho de 2009
Ultima resposta 18 de jun. de 2009
Respostas 1
Participantes 2