Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro Load Data Infile


dracon999

Pergunta

Prezados,

Estou importando um arquivo txt gerado por outro programa em um processo agendado de madruga no ubuntu. Estou utilizando esse processo a 1 mês sem problemas, mas agora quero importar varias vezes durante o dia e ai começa o problema. Como a arquivo gerado não possui chave primaria, e apenas posso gera-lo acumulando o resultado do mesmo dia, estou tentado importar o arquivo e gerar ao mesmo tempo uma chave para que os registros repetidos sejem ignorados na importação. Utilizo o comando:

load data local infile '/temp/arquivo.txt' 
ignore 
into table sefazsp.`adco21p_arq_teste`
fields terminated by ";" 
ignore 3 lines
(@cobrador, @data, @hora, financeira, loja, cod_devedor, @contrato, nome_devedor, @cod_hist, historico1, historico2, tipo_ligacao, cobrador_atual, dt_entrada, @produto, @bina, contato)
set cobrador = @cobrador,
data = str_to_date(@data, '%d/%m/%Y'),
hora = @hora,
contrato = @contrato,
cod_hist = @cod_hist,
bina = @bina,
CHAVE = concat(@cobrador, @data, @hora, @contrato, @cod_hist, @bina)

estou obtendo a mensagem:

1262 Row 8221 was truncated; it contained more data than there were imput columns

Vale lembrar que ela não aprece para todas as linhas mas em varias e que a tabela tem 2 colunas a mais que o arquivo. Sendo elas a propria chave a ser criada e um timestamp com defaut current_timestamp para controle.

Seu eu deleto a coluna chave e retiro a parte "set" vai redondo....

Estou postando pois já esgotei minhas buscas... alguém tem uma luz?

Editado por Denis Courcy
Melhorar entendimento de código
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Você verificou se as linhas que geram a mensagem tem o mesmo formato das outras? Você poderia postar a estrutura da tabela (show create table minha_tabela) e um exemplo de uma linha "correta" e de uma "não correta"?

Editado por Kakao
Link para o comentário
Compartilhar em outros sites

  • 0

CREATE TABLE `adco21p_arq_teste` (
  `COBRADOR` varchar(3) DEFAULT NULL,
  `DATA` date DEFAULT NULL,
  `HORA` time DEFAULT NULL,
  `FINANCEIRA` varchar(3) DEFAULT NULL,
  `LOJA` varchar(5) DEFAULT NULL,
  `COD_DEVEDOR` varchar(50) DEFAULT NULL,
  `CONTRATO` varchar(50) DEFAULT NULL,
  `NOME_DEVEDOR` varchar(255) DEFAULT NULL,
  `COD_HIST` varchar(3) DEFAULT NULL,
  `HISTORICO1` varchar(255) DEFAULT NULL,
  `HISTORICO2` varchar(255) DEFAULT NULL,
  `TIPO_LIGACAO` varchar(3) DEFAULT NULL,
  `COBRADOR_ATUAL` varchar(3) DEFAULT NULL,
  `DT_ENTRADA` varchar(10) DEFAULT NULL,
  `BINA` varchar(25) DEFAULT NULL,
  `CONTATO` varchar(255) DEFAULT NULL,
  `chave` varchar(500) NOT NULL DEFAULT '',
  `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`chave`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

Linha citada na mensagem de erro

550;07/04/2011;20:23;285;00045;2016486;11036443618 ;ERICA GAMA DA SILVA ;103;550-Mensagem das Teles. ; ;R;991;20110401; ;34412797 ;.

Linhas citada na mensagem de erro

550;07/04/2011;20:16;285;00045;2014424;11036438674 ;ANGELO SEVERINO ;110;550-LOC Parente,conhecido etc c/ recado ; ;R;608;20110401; ;0231632622810 ;.

Linhas não citadas na mensagem de erro

550;07/04/2011;20:17;285;00045;1942864;11036439048 ;VALDIR LINDOLFO DE ALMEIDA JUN ;115;550-Desconhecido na Residencia ; ;R;991;20110401; ;0171236534613 ;.

550;07/04/2011;20:17;285;00045;1943004;11036439467 ;KUNIKITI ARIZONO ;110;550-LOC Parente,conhecido etc c/ recado ; ;R;608;20110401; ;0231833246617 ;.

Primeiras 5 linhas do arquivo

Cobrador:000 A 999 Fin.loja:000/00000 A 999/99999 Data:07042011 A 07042011 Cod.Hist.:000 A 999

COBRADOR;DATA;HORA;FINANCEIRA;LOJA;COD_DEVEDOR;CONTRATO;NOME_DEVEDOR;COD_HIST;HISTORICO1;HISTORICO2;TIPO_LIGACAO;COBRADOR_ATUAL;DT_ENTRADA;PRODUTO

451;07/04/2011;12:38;285;00045;2062608;11036544396 ;GILBERTO CARVALHO ;115;451-Desconhecido na Residencia ; ;R;600;20110401; ;36152304 ;.

451;07/04/2011;12:40;285;00045;0737493;11036544650 ;MANOEL MESSIAS DOS SANTOS BRIT ;124;451-LOC - Retornar - Jantar ; ;R;624;20110401; ;58316372 ;.

Obrigado pela ajuda!!!

Editado por Denis Courcy
Melhorar entendimento de código
Link para o comentário
Compartilhar em outros sites

  • 0

Eu criei a tabela e inseri as linhas que você postou usando o seu código e a tabela foi povoada sem erro. O problema está em outro ponto do arquivo. Se você puder postar o arquivo zipado em algum lugar ou me mandar por email eu examino.

Editado por Kakao
Link para o comentário
Compartilhar em outros sites

  • 0

Kakao

obrigado pela ajuda. Algumas linhas continham ";" armazenadas. Resolvi o problema ao perceber que o arquivo era de largura fixa. Então importei utilizando a função substring para determinar a largura de cada campo e não mais o ";' como delimitador.

abs

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...