Não Consigo inserir dados no banco mysql

Boa tarde!

Eu estou com um problema, eu preciso ler um arquivo txt e inserir o dados no banco.
Consegui efetuar a leitura do arquivo, consegui separa-lo por substring, consegui a conexão com o banco, mas efetuar o insert nada feito.

Preciso de uma ajuda para saber onde estou errando. Segue o código.

Classe ReadTxt

[code]package importaTxt;

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;

public class ReadTxt {

	public void ler() {

		File file = new File("c:/bd/bd.txt");
		{
			try {
				Scanner scanner = new Scanner(file);
				while (scanner.hasNextLine()) {
					classeAtributos at = new classeAtributos();
					String line = scanner.nextLine();
			
					//Header
					at.HEADER_ID_DADOS = line.substring(0, 0);
					at.HEADER_TIPO_REGISTRO = line.substring(1, 1);
					at.HEADER_COD_ESCRITORIO = line.substring(2, 6);
					at.HEADER_DATA_LOTE = line.substring(7, 14);
					at.HEADER_HORA_LOTE = line.substring(15, 18);
					at.HEADER_AGENCIA = line.substring(19, 22);
					at.HEADER_ESPACO1 = line.substring(23, 23);
					at.HEADER_CONTA_CORRENTE = line.substring(24, 30);
					at.HEADER_ESPACO2 = line.substring(31, 31);
					at.HEADER_NUMERO_SEQUENCIAL = line.substring(32, 33);
					at.HEADER_ESPACO3 = line.substring(34, 34);
					at.HEADER_ID_ARQUIVO = line.substring(35, 38);
					at.HEADER_TIPO_COBRANCA = line.substring(39, 39);
					at.HEADER_ESPACO_LIVRE = line.substring(40, 1200);
					at.TRAILLER_TIPO_REGISTRO = line.substring(1, 1);
					at.TRAILLER_CODIGO_ESCRITORIO = line.substring(2, 6);
					at.TRAILLER_DATA_LOTE = line.substring(7, 14);
					at.TRAILLER_HORA_LOTE = line.substring(15, 18);
					at.TRAILLER_AGENCIA = line.substring(19, 22);
					at.TRAILLER_ESPACO = line.substring(23, 23);
					at.TRAILLER_CONTA_CORRENTE = line.substring(24, 30);
					at.TRAILLER_QUANTIDADE_REGISTROS = line.substring(31, 35);
					at.TRAILLER_ESPACO_LIVRE = line.substring(36, 1200);
					
					//Acordo
					at.ACORDO_ID_DADOS = line.substring(0, 0);
					at.ACORDO_TIPO_REGISTRO = line.substring(1, 1);
					at.ACORDO_CODIGO_ESCRITORIO = line.substring(2, 6);
					at.ACORDO_NUMERO_LOTE = line.substring(7, 18);
					at.ACORDO_STATUS_REGISTRO = line.substring(19, 20);
					at.ACORDO_CODIGO_OPERACAO = line.substring(21, 25);
					at.ACORDO_NUMERO_CONTRATO = line.substring(26, 40);
					at.ACORDO_TIPO_CONTRATO = line.substring(41, 70);
					at.ACORDO_AGENCIA_PLATAFORMA = line.substring(71, 74);
					at.ACORDO_REGIAO_PLATAFORMA  = line.substring(75, 76);
					at.ACORDO_NUMERO_RECEBIMENTO = line.substring(77, 88);
					at.ACORDO_DATA_CONTRATACAO = line.substring(89, 96);
					at.ACORDO_DATA_VENCIMENTO_CONTRATO = line.substring(97, 104);
					at.ACORDO_DATA_ATRASO_CONTRATO = line.substring(105, 112);
					at.ACORDO_VALOR_CONTRATO_ATUAL = line.substring(113, 127);
					at.ACORDO_VALOR_VENCIDO = line.substring(128, 142);
					at.ACORDO_QUANTIDADE_PARCELAS = line.substring(143, 144);
					at.ACORDO_QUANTIDADE_PARCELAS_ATRASO = line.substring(145, 146);
					at.ACORDO_VALOR_CONTRATO_VENCIMENTO = line.substring(147, 161);
					at.ACORDO_EMPRESA_CONTRATO = line.substring(162, 163);
					at.ACORDO_DATA_ENVIO_CONTRATO = line.substring(164, 171);
					at.ACORDO_DATA_LIMITE_RETORNO = line.substring(172, 179);
					at.ACORDO_CODIGO_PARECER_ESCRITORIO_ANTERIOR = line.substring(180, 183);
					at.ACORDO_CODIGO_PARECER_ESCRITORIO_ANTERIOR_LINHA1 = line.substring(184, 251);
					at.ACORDO_CODIGO_PARECER_ESCRITORIO_ANTERIOR_LINHA2 = line.substring(252, 319);
					at.ACORDO_PESSOA = line.substring(320, 320);
					at.ACORDO_CGC_CPF = line.substring(321, 334);
					at.ACORDO_NOME_DEVEDOR = line.substring(335, 364);
					at.ACORDO_RESIDENCIAL_LOGRADOURO = line.substring(365, 394 );
					at.ACORDO_RESIDENCIAL_NUMERO = line.substring(395, 399);
					at.ACORDO_RESIDENCIAL_COMPLEMENTO = line.substring(400, 414);
					at.ACORDO_RESIDENCIAL_BAIRRO = line.substring(415, 429);
					at.ACORDO_RESIDENCIAL_CIDADE = line.substring(430, 449);
					at.ACORDO_RESIDENCIAL_ESTADO = line.substring(450, 451);
					at.ACORDO_RESIDENCIAL_CEP = line.substring(452, 459);
					at.ACORDO_RESIDENCIAL_DDD = line.substring(460, 463);
					at.ACORDO_RESIDENCIAL_TELEFONE = line.substring(464, 471);
					at.ACORDO_RESIDENCIAL_RAMAL = line.substring(472, 475);
					at.ACORDO_COMERCIAL_LOGRADOURO = line.substring(476, 505);
					at.ACORDO_COMERCIAL_NUMERO = line.substring(506, 510);
					at.ACORDO_COMERCIAL_COMPLEMENTO = line.substring(511, 525);
					at.ACORDO_COMERCIAL_BAIRRO = line.substring(526, 540);
					at.ACORDO_COMERCIAL_CIDADE = line.substring(541, 560);
					at.ACORDO_COMERCIAL_ESTADO = line.substring(561, 562);
					at.ACORDO_COMERCIAL_CEP = line.substring(563, 570);
					at.ACORDO_COMERCIAL_DDD = line.substring(571, 574);
					at.ACORDO_COMERCIAL_TELEFONE = line.substring(575, 582);
					at.ACORDO_COMERCIAL_RAMAL = line.substring(583, 586);
					at.ACORDO_AVALISTA1_PESSOA = line.substring(587, 587);
					at.ACORDO_AVALISTA1_CPF_CGC = line.substring(588, 601);
					at.ACORDO_AVALISTA1_NOME = line.substring(602, 631);
					at.ACORDO_AVALISTA1_LOGRADOURO = line.substring(632, 661);
					at.ACORDO_AVALISTA1_NUMERO = line.substring(662, 666);
					at.ACORDO_AVALISTA1_COMPLEMENTO = line.substring(667, 681);
					at.ACORDO_AVALISTA1_BAIRRO  = line.substring(682, 696);
					at.ACORDO_AVALISTA1_CIDADE = line.substring(697, 716);
					at.ACORDO_AVALISTA1_ESTADO = line.substring(717, 718);
					at.ACORDO_AVALISTA1_CEP = line.substring(719, 726);
					at.ACORDO_AVALISTA1_DDD = line.substring(727, 730);
					at.ACORDO_AVALISTA1_TELEFONE = line.substring(731, 739);
					at.ACORDO_AVALISTA1_RAMAL = line.substring(739, 742);
					at.ACORDO_AVALISTA2_PESSOA = line.substring(743, 743);
					at.ACORDO_AVALISTA2_CPF_CGC = line.substring(744, 757);
					at.ACORDO_AVALISTA2_NOME = line.substring(758, 787);
					at.ACORDO_AVALISTA2_LOGRADOURO = line.substring(788, 817);
					at.ACORDO_AVALISTA2_NUMERO = line.substring(818, 822);
					at.ACORDO_AVALISTA2_COMPLEMENTO = line.substring(823, 837);
					at.ACORDO_AVALISTA2_BAIRRO = line.substring(838, 852);
					at.ACORDO_AVALISTA2_CIDADE = line.substring(853, 872);
					at.ACORDO_AVALISTA2_ESTADO = line.substring(873, 874);
					at.ACORDO_AVALISTA2_CEP = line.substring(875, 882);
					at.ACORDO_AVALISTA2_DDD = line.substring(883, 886);
					at.ACORDO_AVALISTA2_TELEFONE = line.substring(887, 894);
					at.ACORDO_AVALISTA2_RAMAL = line.substring(895, 898);
					at.ACORDO_FILIAL = line.substring(899, 903);
					at.ACORDO_VALOR_ENCARGOS = line.substring(904, 918);
					at.ACORDO_NUMERO_PARCELA = line.substring(919, 921);
					at.ACORDO_PORTE_EMPRESA = line.substring(922, 924);
					at.ACORDO_CODIGO_ESTRATEGIA = line.substring(925, 926);
					at.ACORDO_TARIFA_COBRANCA = line.substring(927, 933);
					at.ACORDO_NUMERO_COBRANCA = line.substring(934, 935);
					at.ACORDO_CODIGO_SEGURADOR = line.substring(936, 938);
					at.ACORDO_CODIGO_OPER_FINAUST = line.substring(939, 942);
					at.ACORDO_CODIGO_CONTRATO_FINAUST = line.substring(943, 954);
					at.ACORDO_CAMPANHA_COD_SEGMENTO = line.substring(955, 956);
					at.ACORDO_CAMPANHA_VALOR_DESCONTO_VISTA = line.substring(957, 971);
					at.ACORDO_CAMPANHA_VALOR_CONGELADO = line.substring(972, 986);
					at.ACORDO_CAMPANHA_LOCAL_COBRANCA = line.substring(987, 988);
					at.ACORDO_CAMPANHA_EMPRESA_CONGE_ITAU = line.substring(989, 990);
					at.ACORDO_CAMPANHA_VALOR_JUROS_MORA_PARCELA = line.substring(991, 1005);
					at.ACORDO_CAMPANHA_VALOR_MULTA_PARCELA = line.substring(1006, 1020);
					at.ACORDO_CAMPANHA_PLANO = line.substring(1021, 1023);
					at.ACORDO_CAMPANHA_TAXA_JUROS_NOMINAL = line.substring(1024, 1028);
					at.ACORDO_CAMPANHA_TAXA_JUROS_EFETIVA = line.substring(1029, 1033);
					at.ACORDO_CAMPANHA_RESPONSABILIDADE_SALDO = line.substring(1034, 1034);
					at.ACORDO_CAMPANHA_PRAZO_CONTRATO_FINANCIAMENTO = line.substring(1035, 1037);
					at.ACORDO_CAMPANHA_ESTRATEGIA_PROC_JURIDICO = line.substring(1038, 1040);
					at.ACORDO_CAMPANHA_CODIGO_CAMPANHA = line.substring(1041, 1045);
					at.ACORDO_CAMPANHA_PERCENTUAL_DESC_VISTA = line.substring(1046, 1050);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_INICIAL1 = line.substring(1051, 1053);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_FINAL1 = line.substring(1054, 1056);
					at.ACORDO_CAMPANHA_PERCENTUAL_MAX_DESCONTOS1 = line.substring(1057, 1061);
					at.ACORDO_CAMPANHA_PERCENTUAL_MIN_ENTRADA1 = line.substring(1062, 1066);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_INICIAL2 = line.substring(1067, 1069);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_FINAL2 = line.substring(1070, 1072);
					at.ACORDO_CAMPANHA_PERCENTUAL_MAX_DESCONTO2 = line.substring(1073, 1077);
					at.ACORDO_CAMPANHA_PERCENTUAL_MIN_ENTRADA2 = line.substring(1078, 1082);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_INICIAL3 = line.substring(1083, 1085);
					at.ACORDO_CAMPANHA_QUANTIDADE_PARCIAL_FAIXA_FINAL3 = line.substring(1086, 1088);
					at.ACORDO_CAMPANHA_PERCENTUAL_MAX_DESCONTOS3 = line.substring(1089, 1093);
					at.ACORDO_CAMPANHA_PERCENTUAL_MIN_ENTRADA3 = line.substring(1094, 1098);
					at.ACORDO_CAMPANHA_SUSLIM = line.substring(1099, 1101);
					at.ACORDO_CAMPANHA_IDSTG1 = line.substring(1102, 1104);
					at.ACORDO_CAMPANHA_DTATICOB = line.substring(1105, 1109);
					at.ACORDO_CAMPANHA_NRCARTAO = line.substring(1110, 1114);
					at.ACORDO_CAMPANHA_CDCTACND = line.substring(1115, 1117);
					at.ACORDO_CAMPANHA_CARTEIRA = line.substring(1118, 1120);
					at.ACORDO_CAMPANHA_VLACORDO = line.substring(1121, 1125);
					at.ACORDO_CAMPANHA_CDOCOBRA = line.substring(1126, 1130);
					at.ACORDO_CAMPANHA_CATEGV = line.substring(1131, 1131);
					
					
					//dados acordos
					
					at.DADOS_ID_DADOS = line.substring(0, 0);
					at.DADOS_TIPO_REGISTRO = line.substring(0, 0);
					at.DADOS_CODIGO_ESCRITORIO = line.substring(0, 0);
					at.DADOS_NUMERO_LOTE = line.substring(0, 0);
					at.DADOS_STATUS_REGISTRO = line.substring(0, 0);
					at.DADOS_CODIGO_OPERACAO = line.substring(0, 0);
					at.DADOS_NUMERO_CONTRATO = line.substring(0, 0);
					at.DADOS_TIPO_CONTRATO = line.substring(0, 0);
					at.DADOS_AGENCIA_PLATAFORMA = line.substring(0, 0);
					at.DADOS_REGIAO_PLATAFORMA = line.substring(0, 0);
					at.DADOS_NUMERO_RECEBIMENTO = line.substring(0, 0); 
					at.DADOS_DATA_CONTRATACAO = line.substring(0, 0);
					at.DADOS_DATA_VENCIMENTO_FINAL_CONTRATO = line.substring(0, 0);
					at.DADOS_DATA_ATRASO = line.substring(0, 0); 
					at.DADOS_DATA_ATRASO_CONTRATO = line.substring(0, 0);
					at.DADOS_DATA_ATRASO_PARCELA = line.substring(0, 0);
					at.DADOS_CPF_CNPJ = line.substring(0, 0);
					at.DADOS_NOME_DEVEDOR = line.substring(0, 0);
					at.DADOS_LOGRADOURO = line.substring(0, 0);
					at.DADOS_NUMERO = line.substring(0, 0);
					at.DADOS_COMPLEMENTO = line.substring(0, 0);
					at.DADOS_BAIRRO = line.substring(0, 0);
					at.DADOS_CIDADE = line.substring(0, 0);
					at.DADOS_ESTADO = line.substring(0, 0);
					at.DADOS_CEP = line.substring(0, 0);
					at.DADOS_DDD = line.substring(0, 0);
					at.DADOS_TELEFONE = line.substring(0, 0);
					at.DADOS_RAMAL = line.substring(0, 0);
					at.DADOS_ESPACO_LIVRE = line.substring(0, 0);
					at.ACORDO_ID_DADOS = line.substring(0, 0);

					System.out.print(line.substring(0, 1) + " - ");
					System.out.println(line.substring(0, 550));
				}
				scanner.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}
	}
}

[/code]

Classe Conexao


package importaTxt;
    import java.sql.*;  
      
    public class Conexao {  
      
    private static Conexao instancia;  
    private String servidor = "localhost";  
    private String nomeBanco = "contratos";  
    private String usuario = "root";  
    private String senha = "";  
      
    public static Conexao get() throws Exception {  
    try {  
    if (instancia == null){  
    instancia = new Conexao();  
    }  
    return instancia;  
    } catch(Exception e) {  
    throw new Exception("Ocorreu um erro ao conectar com o banco de dados");  
    }  
    }  
      
    public Conexao() throws Exception {  
    Class.forName("com.mysql.jdbc.Driver").newInstance();  
    DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+nomeBanco, usuario, senha);  
    }  
      
    }  

Classe AtributoDAO

package importaTxt;


import java.sql.PreparedStatement;
import java.sql.Connection;

public class AtributoDAO {
	


	private Connection conn;
	public void insert(classeAtributos dados) throws Exception{
		
		conn = null;
		PreparedStatement stmt = conn.prepareStatement("insert into carga_header "
				+ "(HEADER_ID_DADOS, "
				+ "HEADER_TIPO_REGISTRO, HEADER_COD_ESCRITORIO, "
				+ "HEADER_DATA_LOTE, HEADER_HORA_LOTE,"
				+ "HEADER_AGENCIA, HEADER_ESPACO1,"
				+ "HEADER_CONTA_CORRENTE, HEADER_ESPACO2,"
				+ "HEADER_NUMERO_SEQUENCIAL, HEADER_ESPACO3,"
				+ "HEADER_ID_ARQUIVO, HEADER_TIPO_COBRANCA,"
				+ "HEADER_ESPACO_LIVRE, TRAILLER_TIPO_REGISTRO,"
				+ "TRAILLER_CODIGO_ESCRITORIO, TRAILLER_DATA_LOTE, "
				+ "TRAILLER_HORA_LOTE, TRAILLER_AGENCIA,"
				+ "TRAILLER_ESPACO, TRAILLER_CONTA_CORRENTE,"
				+ "TRAILLER_QUANTIDADE_REGISTROS, TRAILLER_ESPACO_LIVRE) values "
				+ "(Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
			
				stmt.setString(1, dados.getHEADER_TIPO_REGISTRO());
				stmt.setString(2, dados.getHEADER_COD_ESCRITORIO());
				stmt.setString(3, dados.getHEADER_DATA_LOTE());
				stmt.setString(4, dados.getHEADER_HORA_LOTE());
				stmt.setString(5, dados.getHEADER_AGENCIA());
				stmt.setString(6, dados.getHEADER_ESPACO1());
				stmt.setString(7, dados.getHEADER_CONTA_CORRENTE());
				stmt.setString(8, dados.getHEADER_ESPACO2());
				stmt.setString(9, dados.getHEADER_NUMERO_SEQUENCIAL());
				stmt.setString(10, dados.getHEADER_ESPACO3());
				stmt.setString(11, dados.getHEADER_ID_ARQUIVO());
				stmt.setString(12, dados.getHEADER_TIPO_COBRANCA());
				stmt.setString(13, dados.getHEADER_ESPACO_LIVRE());
				stmt.setString(14, dados.getTRAILLER_TIPO_REGISTRO());
				stmt.setString(15, dados.getTRAILLER_CODIGO_ESCRITORIO());
				stmt.setString(16, dados.getTRAILLER_DATA_LOTE());
				stmt.setString(17, dados.getTRAILLER_HORA_LOTE());
				stmt.setString(18, dados.getTRAILLER_AGENCIA());
				stmt.setString(19, dados.getTRAILLER_ESPACO());
				stmt.setString(20, dados.getTRAILLER_CONTA_CORRENTE());
				stmt.setString(21, dados.getTRAILLER_QUANTIDADE_REGISTROS());
				stmt.setString(22, dados.getTRAILLER_ESPACO_LIVRE());
				
				
	}		
		
	public static void main(String[] args) throws Exception {
		
		ReadTxt Principal = new ReadTxt();
		Principal.ler();
		
		new Conexao();  
	    Conexao.get();	
	     
	    new AtributoDAO();
	    
		
	}

}

Existe mais uma classe que são os GETTERS E SETTERS eu não postei aqui, pois, é muito grande mas caso precise eu coloco.

Desde já eu agradeço.

Está escrito values 2 vezes no seu SQL. Uma na linha 27 do seu código e outra logo na linha 28.

Além disso, falta o comando stmt.executeUpdate() ao final, que é quem vai efetivamente rodar a consulta.

É uma boa pratica também colocar o statement num bloco try with resources, ou dar um close() nele dentro de um bloco finally.

Muito Obrigado!

Irei testar agora, eu estava usando o stmt.executeQuery(); mas não estava indo, vou arrumar o value, e vou testar esse comando e postar se ocorreu tudo certo.

Muito Obrigado mesmo.

Se der errado, posta a mensagem de erro.

Não subiu os dados e não apresentou mensagem de erros.

eu inseri os comandos:

stmt.executeUpdate();
stmt.close();

Ele le o txt no console, mas não carrega os dados para o banco.

Não estou vendo no seu código onde você está chamando o método insert do seu dao. Tem certeza que o método está sendo chamado?

Eu criei os Insert de sql, no caso você se refere a cria-lo no bloco do main??

Como:

Chamando o metodo [quote]insert [/quote] da classe AtributoDAO ?

Não basta criar o objeto, vc tem que chamar o método insert. O ideal seria fazer isso no método ler:

public class ReadTxt {
    public void ler() {
        File file = new File("c:/bd/bd.txt");
        try {
            //Crie o DAO aqui
            AtributoDao dao = new AtributoDao();

            Scanner scanner = new Scanner(file);
            
            while (scanner.hasNextLine()) {
                classeAtributos at = new classeAtributos();
                String line = scanner.nextLine();
                
                //Aqui vc preenche o objeto at, como já estava fazendo.

                dao.insert(at); //Chame o insert ao final, para salvar no banco

                System.out.print(line.substring(0, 1) + " - ");
                System.out.println(line.substring(0, 550));
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Hey Vini eu inseri no codigo o metodo, aogra apresentou o erro:

Exception in thread “main” java.lang.Error: Unresolved compilation problem:
The method Insert(classeAtributos) in the type AtributoDAO is not applicable for the arguments ()

at importaTxt.AtributoDAO.main(AtributoDAO.java:65)

A classe ficou assim:

[code]package importaTxt;

import java.sql.PreparedStatement;
import java.sql.Connection;

public class AtributoDAO {

private static Connection conn;
public static void Insert(classeAtributos dados) throws Exception{
			
	conn = null;
	PreparedStatement stmt = conn.prepareStatement("insert into carga_header "
			+ "(HEADER_ID_DADOS, "
			+ "HEADER_TIPO_REGISTRO, HEADER_COD_ESCRITORIO, "
			+ "HEADER_DATA_LOTE, HEADER_HORA_LOTE,"
			+ "HEADER_AGENCIA, HEADER_ESPACO1,"
			+ "HEADER_CONTA_CORRENTE, HEADER_ESPACO2,"
			+ "HEADER_NUMERO_SEQUENCIAL, HEADER_ESPACO3,"
			+ "HEADER_ID_ARQUIVO, HEADER_TIPO_COBRANCA,"
			+ "HEADER_ESPACO_LIVRE, TRAILLER_TIPO_REGISTRO,"
			+ "TRAILLER_CODIGO_ESCRITORIO, TRAILLER_DATA_LOTE, "
			+ "TRAILLER_HORA_LOTE, TRAILLER_AGENCIA,"
			+ "TRAILLER_ESPACO, TRAILLER_CONTA_CORRENTE,"
			+ "TRAILLER_QUANTIDADE_REGISTROS, TRAILLER_ESPACO_LIVRE)"
			+ "(Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
		
			stmt.setString(1, dados.getHEADER_TIPO_REGISTRO());
			stmt.setString(2, dados.getHEADER_COD_ESCRITORIO());
			stmt.setString(3, dados.getHEADER_DATA_LOTE());
			stmt.setString(4, dados.getHEADER_HORA_LOTE());
			stmt.setString(5, dados.getHEADER_AGENCIA());
			stmt.setString(6, dados.getHEADER_ESPACO1());
			stmt.setString(7, dados.getHEADER_CONTA_CORRENTE());
			stmt.setString(8, dados.getHEADER_ESPACO2());
			stmt.setString(9, dados.getHEADER_NUMERO_SEQUENCIAL());
			stmt.setString(10, dados.getHEADER_ESPACO3());
			stmt.setString(11, dados.getHEADER_ID_ARQUIVO());
			stmt.setString(12, dados.getHEADER_TIPO_COBRANCA());
			stmt.setString(13, dados.getHEADER_ESPACO_LIVRE());
			stmt.setString(14, dados.getTRAILLER_TIPO_REGISTRO());
			stmt.setString(15, dados.getTRAILLER_CODIGO_ESCRITORIO());
			stmt.setString(16, dados.getTRAILLER_DATA_LOTE());
			stmt.setString(17, dados.getTRAILLER_HORA_LOTE());
			stmt.setString(18, dados.getTRAILLER_AGENCIA());
			stmt.setString(19, dados.getTRAILLER_ESPACO());
			stmt.setString(20, dados.getTRAILLER_CONTA_CORRENTE());
			stmt.setString(21, dados.getTRAILLER_QUANTIDADE_REGISTROS());
			stmt.setString(22, dados.getTRAILLER_ESPACO_LIVRE());
			
			stmt.executeUpdate();
			stmt.close();
			
}		
	
public static void main(String[] args) throws Exception {
	
	ReadTxt Principal = new ReadTxt();
	Principal.ler();
	
	new Conexao();  
    Conexao.get();
   
    new AtributoDAO();
    Insert();
	
}

}
[/code]

Obrigado

Seu metodo não deveria ser declarado como static, nem o objeto Connection.
E pq vc trocou para letra maiúscula? O padrão java é com letra minúscula.

Outra coisa, parece que faltou passar o objeto at como parâmetro para o método insert. Veja como eu fiz ali.

Vini os métodos mudaram para static sozinho rsrrs, (eclipse) agora ele me traz quatro exceptions:

Exception in thread “main” java.lang.NullPointerException
at importaTxt.AtributoDAO.insert(AtributoDAO.java:13)
at importaTxt.ReadTxt.ler(ReadTxt.java:202)
at importaTxt.AtributoDAO.main(AtributoDAO.java:59)

O primeiro é nessa linha:
PreparedStatement stmt = conn.prepareStatement("insert into carga_header "

O segundo é:
dao.insert(at);

O terceiro é:
Principal.ler();

Aclasse depois de alterada ficou assim:

[code]package importaTxt;

import java.sql.PreparedStatement;
import java.sql.Connection;

public class AtributoDAO {

private Connection conn;
public void insert(classeAtributos dados) throws Exception{
			
	conn = null;
	PreparedStatement stmt = conn.prepareStatement("insert into carga_header "
			+ "(HEADER_ID_DADOS, "
			+ "HEADER_TIPO_REGISTRO, HEADER_COD_ESCRITORIO, "
			+ "HEADER_DATA_LOTE, HEADER_HORA_LOTE,"
			+ "HEADER_AGENCIA, HEADER_ESPACO1,"
			+ "HEADER_CONTA_CORRENTE, HEADER_ESPACO2,"
			+ "HEADER_NUMERO_SEQUENCIAL, HEADER_ESPACO3,"
			+ "HEADER_ID_ARQUIVO, HEADER_TIPO_COBRANCA,"
			+ "HEADER_ESPACO_LIVRE, TRAILLER_TIPO_REGISTRO,"
			+ "TRAILLER_CODIGO_ESCRITORIO, TRAILLER_DATA_LOTE, "
			+ "TRAILLER_HORA_LOTE, TRAILLER_AGENCIA,"
			+ "TRAILLER_ESPACO, TRAILLER_CONTA_CORRENTE,"
			+ "TRAILLER_QUANTIDADE_REGISTROS, TRAILLER_ESPACO_LIVRE)"
			+ "(Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
		
			stmt.setString(1, dados.getHEADER_TIPO_REGISTRO());
			stmt.setString(2, dados.getHEADER_COD_ESCRITORIO());
			stmt.setString(3, dados.getHEADER_DATA_LOTE());
			stmt.setString(4, dados.getHEADER_HORA_LOTE());
			stmt.setString(5, dados.getHEADER_AGENCIA());
			stmt.setString(6, dados.getHEADER_ESPACO1());
			stmt.setString(7, dados.getHEADER_CONTA_CORRENTE());
			stmt.setString(8, dados.getHEADER_ESPACO2());
			stmt.setString(9, dados.getHEADER_NUMERO_SEQUENCIAL());
			stmt.setString(10, dados.getHEADER_ESPACO3());
			stmt.setString(11, dados.getHEADER_ID_ARQUIVO());
			stmt.setString(12, dados.getHEADER_TIPO_COBRANCA());
			stmt.setString(13, dados.getHEADER_ESPACO_LIVRE());
			stmt.setString(14, dados.getTRAILLER_TIPO_REGISTRO());
			stmt.setString(15, dados.getTRAILLER_CODIGO_ESCRITORIO());
			stmt.setString(16, dados.getTRAILLER_DATA_LOTE());
			stmt.setString(17, dados.getTRAILLER_HORA_LOTE());
			stmt.setString(18, dados.getTRAILLER_AGENCIA());
			stmt.setString(19, dados.getTRAILLER_ESPACO());
			stmt.setString(20, dados.getTRAILLER_CONTA_CORRENTE());
			stmt.setString(21, dados.getTRAILLER_QUANTIDADE_REGISTROS());
			stmt.setString(22, dados.getTRAILLER_ESPACO_LIVRE());
			
			stmt.executeUpdate();
			stmt.close();
			
}		
	
public static void main(String[] args) throws Exception {
	
	ReadTxt Principal = new ReadTxt();
	Principal.ler();
	new Conexao();  
    Conexao.get();	
}

}[/code]

Na classe do Dao, troque essa linha:

Por:

Aí pode apagar aquela variável private Connection que tem ali.

O Eclipse não faz esse tipo de coisa sozinho… vc deve ter feito sem ver.

Ops, tem mais coisa errada. Mude a classe Conexao para:

[code]package importaTxt;
import java.sql.*;

public class Conexao {
private static Conexao instancia = new Conexao();
private String servidor = “localhost”;
private String nomeBanco = “contratos”;
private String usuario = “root”;
private String senha = “”;

public static Conexao get() throws Exception {  
    return instancia;  
}
  
public Connection criar() throws SQLException {  
    Class.forName("com.mysql.jdbc.Driver").newInstance();  
    return DriverManager.getConnection("jdbc:mysql://"+servidor+"/"+nomeBanco, usuario, senha);  
}    

}
[/code]

E aí sim, la no dao, a linha fica:

Vini, realizei as alterações agora apresenta mais alguns erros.

Exception in thread “main” java.sql.SQLException: No value specified for parameter 23
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2594)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2569)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2366)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2350)
at importaTxt.AtributoDAO.insert(AtributoDAO.java:51)
at importaTxt.ReadTxt.ler(ReadTxt.java:202)
at importaTxt.AtributoDAO.main(AtributoDAO.java:59)

São apenas 22 valores não? ai possui espaço para 23 valores…

Esse era um dos erros, valew, aogra ele ta me informando um erro na sintaxe sql, eu vou arrumar e postar o resultado, antes de mais nada, obrigado pela ajuda, valew!

Já é um ótimo sinal. Mostra que o comando está chegando no banco, pois esse erro vem de lá.

Uma coisa estranha. Todos os campos do seu banco são String? Vc não teria alguns que seria bom converter para int, double, Date, etc. antes de fazer a inserção?

Muito Obrigado!

Agora FOI! A base esta populada… Muito Obrigado mesmo, vai me facilitar demais…

Eles são mistos, alguns long, Date, por enquanto eu vou deixar com string e a base em VARCHAR, eu sei que é porcão, mas acredito que vai me atender.

Muito Obrigado mesmo.