Jump to content


Photo

Pegar Arquivo Txt E Gravar Em Banco De Dados


  • Faça o login para participar
6 replies to this topic

#1 L_nando

L_nando

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 09/09/2006, 16:57

Boa tarde pessoal.

Gostaria de saber como faço para pegar um arquivo .txt gravado em alguma parte da máquina via formulário e gravar em um banco de dados.

Muito obrigado!


#2 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 14/09/2006, 09:02

vc quer pegar o conteudo de um TXT e gravar no banco é isso ?

#3 L_nando

L_nando

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 14/09/2006, 15:11

vc quer pegar o conteudo de um TXT e gravar no banco é isso ?


Isso, mas eu quero pegar o conteúdo de um arquivo txt que está gravado na máquina via form, com aquela opção Input type="file", onde vc pode selecionar um arquivo que está no hd e gravá-lo no banco.

#4 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 14/09/2006, 17:26

Cara, vou te passar a lógica. Dai vc fala o que sabe e o que não sabe fazer.


1 - Upload - Vc terá que fazer um upload de arquivo.

2 - Manipulação de Arquivos com FSO ( FileSystemObject )

3 - Banco de Dados ( Fazer um Insert )

Qual deles vc Sabe ? :D

#5 L_nando

L_nando

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 14/09/2006, 19:34

Cara, vou te passar a lógica. Dai vc fala o que sabe e o que não sabe fazer.


1 - Upload - Vc terá que fazer um upload de arquivo.

2 - Manipulação de Arquivos com FSO ( FileSystemObject )

3 - Banco de Dados ( Fazer um Insert )

Qual deles vc Sabe ? :D

Só o Insert... :(

#6 L_nando

L_nando

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 15/01/2007, 19:52

Meu amigo, depois de muito tempo, consegui fazer o Upload do arquivo com o Dundas, mas não sei como fazer a manipulação do arquivo txt com fso, este arquivo está separado por (ponto e virgula), como faço isso?


Vc pode me ajudar?

Abraço e obrigado!


#7 L_nando

L_nando

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado

Posted 09/02/2007, 20:38

BOA NOITE PESSOAL, CONSEGUI O QUE EU QUERIA, TÁ AÍ O CÓDIGO PARA QUEM SE INTERESSAR

<%

'Setar um valor de execução de script
Server.ScriptTimeout = 240

'Iremos também fazer com que o script siga quando ocorrer um erro
'Para podermos tratá-lo após o script
on error resume next


'************************* Início do Upload ***************************

'Utilizaremos a função On Error Resume Next para ignorar qualquer erro que possa vir a acontecer, e posteriormente iremos identifica-lo e só então comunicarmos ao usuário.
On Error Resume Next

Dim objUpload

'Cria uma instancia do objeto Upload e atribui a variável objUpload.
Set objUpload = server.CreateObject("Dundas.Upload.2")

'Determinamos True em UseVirtualDir para que possamos utilizar o caminho virtual.
'objUpload.UseVirtualDir = false

'Salva o arquivo com o nome real enviado.
objUpload.UseUniqueNames = False

'Utilizamos o caminho virtual que determina onde serão salvos os arquivos carregados.
objUpload.Save "C:\PastaDestino"

'Limpa a instância criada na memória do servidor.
Set objUpload = nothing

'Aqui nós verificaremos se ocorreu algum tipo de erro com os dados carregados. O objeto Err guarda o último erro, caso nenhum erro tenha ocorrido o objeto conterá o valor 0 (zero) com isso podemos verificar o valor do objeto e determinarmos qual mensagem será dada ao usuário.
If Err <> 0 Then

'Aqui estamos imprimindo na tela do usuário a descrição do erro e seu número.
Response.Write Err.Description & " " & Err.Number & "<br>"
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Houve erro(s) ao carregar o(s) arquivo(s) anexado(s)!<br><a href=java script:history.back(-1)>Voltar</a> </b></font>"
Else
'Se o objeto Err for igual a 0 será apresentado a mensagem de sucesso e os dados estarão salvos no caminho determinado acima
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Seus dados foram carregados com sucesso!</b></font>"
End If
Response.Write "</BODY></HTML>"
'Fim de grava_anexo

'************************* Início pegar arquivo txt e gravar no banco ***************************
Dim Conexao
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "dbq="&Server.MapPath("banco.mdb")&";driver={Microsoft Access Driver (*.mdb)}"

'Antes de criarmos o FSO, iremos exibir uma imagem de envio
'Somente para ilustrar pois dependendo do arquivo o processo pode ser demorado
response.write "<img src='inserindo.gif'>"

Dim objFSO

'Aqui que daremos início ao sistema
'Criaremos o objeto FileSystemObject
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Dim varArquivo

'Agora, com o uso do FSO, iremos abrir o arquivo texto que iremos criar
Set varArquivo = objFSO.OpenTextFile(server.MapPath("arquivo.txt"), 1)

dim arrayLinha

'Agora que o arquivo já foi aberto, iremos ler linha por linha
'O comando AtEndOfStream determina que iremos repetir o processo abaixo
'até o fim do arquivo
Do while not varArquivo.AtEndOfStream

'Abaixo, criaremos um array para separar os dados entre ponto-e-vírgula
'ReadLine é usado para indicar que iremos separar os dados desta linha
arrayLinha=split(varArquivo.ReadLine,";",-1,1)

'Com o array criado, iremos inserir de acordo com a ordem dos campos
'Usando 'arrayLinha(0)' nós determinamos cada dado pela ordem do arquivo de texto
'começando pelo zero que é respectivamente o campo nome e por ai adiante
conexao.execute "INSERT INTO TABELA (CAMPO1, CAMPO2, CAMPO3) VALUES ('"&arrayLinha(0)&"','"&arrayLinha(1)&"','"&arrayLinha(2)&"')"

'Passar para próxima linha
loop

'Destruiremos e fecharemos o FSO e o acesso ao arquivo de texto
varArquivo.Close
Set varArquivo = Nothing
Set objFSO = Nothing

'Destruiremos e fecharemos a conexão com o banco de dados
Conexao.close
Set Conexao = nothing


'Abaixo, caso a ordem ou a quantidade de campos do arquivo de texto
'seja inferior a do banco de dados, retornaremos uma mensagem de erro
if err>0 then
response.write "<script>history.back(1);alert('Ocorreu algum problema na inserção.\nVerifique o layout do arquivo de texto.')</script>"
response.End()
end if

'************************* Deletando arquivo txt ***************************
Set objFSO = server.CreateObject("Scripting.FileSystemObject")
objfso.DeleteFile Server.MapPath("arquivo.txt"),true
Set fso = Nothing


response.write "<script>location = 'pagina.htm'</script>"

%>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq