Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carlosleitao

Importar do TXT para MDB

Recommended Posts

Em primeiro lugar parabéns a equipe do imasters pelo novo fórum, estava esperando por ele a tempos...Mais aqui vai minha dúvida...Existe algum script em ASP que faça on-line a importação de um arquivo TXT para um MDB ???O cliente quer ele administrar a base de dados do site...Ele tem localmente um sistema em cobol, que gera uma relação de seus produtos em um arquivo texto, e ele quer mandar esse TXT por FTP, e depois entrar em uma determinada área do site onde ele clicaria em um botão tipo "Atualizar dados" e aí o script iria importar os dados do TXT para o MDB... Isso é possível ???Obrigado a quem ajudar....É meio urgente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em primeiro lugar parabéns a equipe do imasters pelo novo fórum, estava esperando por ele a tempos...Mais aqui vai minha dúvida...Existe algum script em ASP que faça on-line a importação de um arquivo TXT para um MDB ???O cliente quer ele administrar a base de dados do site...Ele tem localmente um sistema em cobol, que gera uma relação de seus produtos em um arquivo texto, e ele quer mandar esse TXT por FTP, e depois entrar em uma determinada área do site onde ele clicaria em um botão tipo "Atualizar dados" e aí o script iria importar os dados do TXT para o MDB... Isso é possível ???Obrigado a quem ajudar....É meio urgente...

Cara, isso é possível sim, e por um acaso eu tenho um sistema q eu fiz assim, o cliente via BROWSER atualiza toda a base de dados. Eu simplesmes mando fazer um UPLOAD do txt, e dentro desse arquivo q faz o upload, eu automaticamente o abro, via FSO, e vou separando cada trecho do txt, e cadastrando no banco de dados.........Só uma pergunta, esse TXT será padrão??? Até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, por ser um TXT gerado pelo sistema, ele será padrão...Agora, se eu for lendo os dados do TXT e incluindo no banco, os registros anteriores que já estavam no banco serão mantidos, não é ???Será que a solução seria apagar todos os dados do MDB e depois gravar todo o conteúdo do TXT novamente ????Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, por ser um TXT gerado pelo sistema, ele será padrão...Agora, se eu for lendo os dados do TXT e incluindo no banco, os registros anteriores que já estavam no banco serão mantidos, não é ???Será que a solução seria apagar todos os dados do MDB e depois gravar todo o conteúdo do TXT novamente ????Obrigado...

Cara, eu fiz isso, pois como o TXT gerado do sistema do meu cliente era todos os registros, eu dou um UPDATE nos q já estiverem no banco de dados, de ativo para inativo, e no final do code, eu deleto tudo q estiver inativo!!Muito mais fácil.........até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK cara, obrigado pela ajuda...Agora tenho um outro problema...Numca fiz nada usando TXT...Como faço para gravar em banco de dados as informações do TXT ???Se não for pedir muito, da um Ctrl+C Ctrl+V só no pedacinho do seu código que busca as informações do TXT e grava no banco...Ia me quebrar um #@?$%~ galho...Faleu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o código cara............está meio complicado....mas foi assim q eu fiz.....até mais

 

 

 

<%Server.ScriptTimeOut = 200pasta = "endereco da pasta"Set rs = server.CreateObject ("ADODB.RecordSet")Set UpLoad   = Server.CreateObject("SoftArtisans.FileUp")UpLoad.Path = "PASTA"UpLoad.SaveNomeDoArquivo = Mid(UpLoad.UserFilename, InstrRev(UpLoad.UserFilename, "\") + 1)if right(NomeDoArquivo,4)=".EXTENSÃO" then  'define tipo do arquivo	Loc = "B"else	Loc = "P"end ifIf (uCase(NomeDoArquivo) = "NOME_ARQUIVO.EXT" or uCase(NomeDoArquivo) = "NOME_ARQUIVO.EXT2") thenpos = instr(1,nomedoarquivo,".")nomedoarquivo = mid(nomedoarquivo,1,pos - 1) & "-" & replace(date, "/","") & replace(time,":","") & "." & mid(nomedoarquivo,pos+1)caminho = pasta & nomedoarquivoUpLoad.SaveAs CaminhoConst ForReading = 1, ForWriting = 2, ForAppending = 3, TristateFalse = 0Dim fs, fSet fs = Server.CreateObject("Scripting.FileSystemObject")Set f = fs.OpenTextFile(caminho , ForReading, TristateFalse)cnn.Execute("UpDate tabela SET V_X= 'N' WHERE V_local = '" & loc & "'")i = 0Do While Not f.AtEndOfStreami = i + 1linha = f.readlineexecuta = falseif left(linha,2) = "01" or left(linha,2) = "02" thenif left(linha,2) = "01" thenlinha = mid(linha,5)linhasplit = split(replace(linha,"""",""), ";")executa = truestrinicio = "INSERT INTO Veiculos"str = strinicio & "(v_codigo,v_novo,v_local,v_estoque,v_chassis,v_placa,v_marca,v_cod_fabr,"str = str & "v_modelo,v_versao,v_cor,v_combust,v_model_ano,v_renavan,v_n_portas,v_ar_cond,v_dir_hidr,"str = str & "v_vid_eletr,v_trav_eletr,v_alarme,v_roda_liga_leve,v_retrovisor_eletr,"str = str & "v_radio_tocafitas,v_descricao_opcionais,"        strvalues = " values('" & Trim(linhasplit(0)) & "','" & Trim(linhasplit(1)) & "','" & Trim(loc) & "','" & Trim(linhasplit(2)) & "','" & trim(linhasplit(3)) & "','" & Trim(linhasplit(4)) & "','" & Trim(linhasplit(5)) & "','" & Trim(linhasplit(6)) & "','"strvalues = strvalues & Trim(linhasplit(7)) & "','','" & Trim(linhasplit(8)) & "','" & Trim(linhasplit(9)) & "','" & Trim(linhasplit(10)) & "','" & Trim(linhasplit(11)) & "','" & Trim(linhasplit(12)) & "','" & Trim(linhasplit(13)) & "','" & Trim(linhasplit(14)) & "','"   	 strvalues = strvalues & Trim(linhasplit(15)) & "','" & Trim(linhasplit(16)) & "','" & Trim(linhasplit(17)) & "','" & Trim(linhasplit(18)) & "','" & Trim(linhasplit(19)) & "','" strvalues = strvalues & Trim(linhasplit(20))& "','" & Trim(linhasplit(21)) & "'"end ifif left(linha,2) = "02" thenexecuta = truetipolinha = left(linha,2)linha = mid(linha,3)linhasplit = split(replace(linha,"""",""), ";")str = str & " v_Km_Usados," str = str & " v_Preco_Opc_Inclusos,v_Preco_Venda,v_Porc_Desc_Real"strvalues = strvalues & ",'" & Trim(replace(replace(linhasplit(0), ".",""),",",".")) strvalues = strvalues & "','" & Trim(replace(replace(linhasplit(1), ".",""),",",".")) & "','" & Trim(replace(replace(linhasplit(2), ".",""),",","."))& "','" & Trim(replace(replace(linhasplit(3), ".",""),",",".")) & "'"str = str & ",v_Data_Recebimento,"strvalues = strvalues & ",'" & Trim(linhasplit(4)) & "'"str = str & "v_Valor_Desc_Com,v_Atualizado_Em,v_X)"strvalues = strvalues & ",'" & Trim(replace(replace(linhasplit(5), ".",""),",",".")) & "','" & date & "','S');"strconexao = strconexao&str&strvaluesstrconexao = strconexaostrconexao = left(strconexao,len(strconexao) - 1)end ifend ifLoop                                    inserir = Split(strconexao,"INSERT")for ins = LBound(inserir) to UBound(inserir)On Error Resume Nextcnn.Execute("INSERT"&inserir(ins))If Err.number <> 0 Then'caso der erro, ele não faz nada, pula para próxima linhaend ifnextsql = "DELETE From tabela WHERE V_local = '" & loc & "' AND V_X='N'"cnn.Execute(sql)%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, pode dar erro sim, pois se o TXT gerado do seu cliente for diferente do meu, ja era.........auahuahuahuahuamas essa é a idéia........até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.