Pegar Arquivo Txt E Gravar Em Banco De Dados
Started By L_nando, 09/09/2006, 16:57
6 replies to this topic
#1
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!
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
Posted 14/09/2006, 09:02
vc quer pegar o conteudo de um TXT e gravar no banco é isso ?
#3
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
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 ?
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 ?
#5
Posted 14/09/2006, 19:34
Só o Insert...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 ?
#6
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!
Vc pode me ajudar?
Abraço e obrigado!
#7
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>"
%>
<%
'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>"
%>
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)