Ir para conteúdo

POWERED BY:

Arquivado

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

Samfera

[Resolvido] Importar um .txt para access

Recommended Posts

Olá galera,

 

Tenho uma arquivo txt com "nome" "endereco" bairro" "cep" e gostaria de importá-lo para um banco access na web. Tem como fazer isso? Já procurei alguns tópicos aqui no imasters e na net e não achei nada específico.

 

Se alguém puder me dar uma dica, agradeço.

 

Forte abraço a todos,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize FSO, olha este exemplo:

 

<% 
 Dim conn, fs, objFile, objFileTextStream, i, strSQL 
 Dim strLine, strLinePart, strFirstName, strLastName, strGender, intAge 

 Set conn = Server.CreateObject("ADODB.Connection") 
 conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("people.mdb")&";User Id=Admin;Password=" 

 Set fs = Server.CreateObject("Scripting.FileSystemObject") 

 Set objFile = fs.GetFile("info.txt") 
 Set objFileTextStream = objFile.OpenAsTextStream(1, 2) 

 objFileTextStream.skipLine 

 Do While objFileTextStream.AtEndOfStream <> True 
   strLine = objFileTextStream.ReadLine 
   strLinePart = split(strLine,"|") 
   for i = 0 TO UBound(strLinePart) 
     If i = 0 Then 
       strFirstName = Trim(strLinePart(i)) 
     ElseIf i = 1 Then 
       strLastName = Trim(strLinePart(i)) 
     ElseIF i = 2 Then 
       strGender = Trim(strLinePart(i)) 
     ElseIF i = 3 then 
       intAge = Trim(strLinePart(i)) 
     End If 
   Next   


   intAge = Cint(intAge) 

   strSQL = "INSERT INTO tbl_people ([FNAME],[LNAME],[---],[AGE]) Values('"&strFirstName&"','"&strLastName&"','"&strGender&"','"&intAge&"')" 
   conn.Execute strSQL 
 Loop 

 objFileTextStream.Close: Set objFileTextStream = Nothing 
 Set fs = Nothing 
 conn.Close: Set conn = Nothing 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

utilize FSO, olha este exemplo:

 

<% 
 Dim conn, fs, objFile, objFileTextStream, i, strSQL 
 Dim strLine, strLinePart, strFirstName, strLastName, strGender, intAge 

 Set conn = Server.CreateObject("ADODB.Connection") 
 conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("people.mdb")&";User Id=Admin;Password=" 

 Set fs = Server.CreateObject("Scripting.FileSystemObject") 

 Set objFile = fs.GetFile("info.txt") 
 Set objFileTextStream = objFile.OpenAsTextStream(1, 2) 

 objFileTextStream.skipLine 

 Do While objFileTextStream.AtEndOfStream <> True 
   strLine = objFileTextStream.ReadLine 
   strLinePart = split(strLine,"|") 
   for i = 0 TO UBound(strLinePart) 
     If i = 0 Then 
       strFirstName = Trim(strLinePart(i)) 
     ElseIf i = 1 Then 
       strLastName = Trim(strLinePart(i)) 
     ElseIF i = 2 Then 
       strGender = Trim(strLinePart(i)) 
     ElseIF i = 3 then 
       intAge = Trim(strLinePart(i)) 
     End If 
   Next   


   intAge = Cint(intAge) 

   strSQL = "INSERT INTO tbl_people ([FNAME],[LNAME],[---],[AGE]) Values('"&strFirstName&"','"&strLastName&"','"&strGender&"','"&intAge&"')" 
   conn.Execute strSQL 
 Loop 

 objFileTextStream.Close: Set objFileTextStream = Nothing 
 Set fs = Nothing 
 conn.Close: Set conn = Nothing 
%>

Xan,

 

Fiz os procedimentos como você me passou, porém, ele está dando um erro: "Arquivo não encontrado". Para que não houvesse falha, criei o banco "people.mdb" a tabela tbl_people e o arquivo "info.txt". Inseri duas pessoas no txt => claudio|silva|m|25 e paulo|alves|m|29

Peguei sua instrução e montei a estrutura pra ver como a importação era feita e não obtive exito.

 

Tem algum problema o fato de estar no IIS? Ou seja, tenho que ta com os arquivos na web?

 

 

 

Valeu pela força.

 

Forte abraço,

Cláudio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sam, o arquivo info.txt esta dentro da mesma pasta que os arquivos .asp?

 

 

Ta sim Gil, inclusive, copiei o info.txt para as 2 pastas que estavam dentro da raiz.

 

Sds,

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar no GetFile("info.txt"), o mappath, para o caminho

precisa ser o caminho correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar no GetFile("info.txt"), o mappath, para o caminho

precisa ser o caminho correto

 

Xan,

 

O mappath é pra pegar o caminho completo, certo? Como eu faria pra testar local?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O método MapPath mapeia um caminho especificado para um caminho físico.

 

Nota: Este método não pode ser usado em Session.OnEnd e Application.OnEnd.

olha este exemplo, tendo o arquivo dentro de wwwroot/pasta/meu arquivo.asp

 

Server.MapPath("pasta/meu arquivo.asp")

Compartilhar este post


Link para o post
Compartilhar em outros sites

O método MapPath mapeia um caminho especificado para um caminho físico.

 

Nota: Este método não pode ser usado em Session.OnEnd e Application.OnEnd.

olha este exemplo, tendo o arquivo dentro de wwwroot/pasta/meu arquivo.asp

 

Server.MapPath("pasta/meu arquivo.asp")

Xam,

 

Desculpe a ignorância... Continuo com o problema "Arquivo não encontrado".

 

É necessário que na importação dos dados uma página asp chame a página que tem o código que você postou? Já tenho o Banco de dados com 2 registros, tenho o .txt com 2 registros. O procedimento não deveria ser quando eu rodasse a página asp com o código que você me passou os registros do .txt fossem adicionado ao banco, uma vez que está todo mundo no mesmo diretório? Posso estar com algum problema de configuração do IIS?

 

Sua postagem me pareceu muito transparente, não sei pq não funcionou.

 

Mais uma vez muito obrigado pela força!

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique as permissoes, e você esta testando no server ou localhost ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique as permissoes, e você esta testando no server ou localhost ?

 

 

Local. A pasta esta compartilhada com todas as permissões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa habilitar o site para processar scripts de conexão , no IIS

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa habilitar o site para processar scripts de conexão , no IIS

 

Xan,

 

Pra você ter uma ideia, fiz upload dos arquivos para o local da minha hospedagem e deu o mesmo problema. Ou seja, até sem usar o IIS ta dando pau.

 

Forte abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

mano, faça tudo na mesma pagina, os asps, o bd e o txt e teste depois poste o resultado, mais teste tudo em uma única pasta, não crie pasta por enquanto para bd e txt por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mano, faça tudo na mesma pagina, os asps, o bd e o txt e teste depois poste o resultado, mais teste tudo em uma única pasta, não crie pasta por enquanto para bd e txt por exemplo.

 

Patrique parceiro,

 

Já está tudo na mesma página desde o inicio. Realmente não sei o que pode estar acontecendo.

 

A mensagem é a mesma, tanto local quanto na web

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
fs.GetFile(Server.MapPath("info.txt"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

imagine uma pasta chamada conn, que esta dentro de wwwroot , no include chame assi:

 

<!--#include file="conn/conexao1.asp"-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

jothaz,

 

Já havia feito dessa forma e deu um erro "Chamada de procedimento ou argumento inválido". Quando tiro o Server.MapPath dá "Arquivo não encontrado"

 

 

xam,

 

É necessário eu incluir, tipo: não posso chamar a página ASP direto com os comandos não?

 

To na crise!!!

 

Vlw pessoal

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.