Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

[Resolvido] Erro ao ler arquivo TXT

Recommended Posts

Olá galera, estou montando um sistema de importação de dados para um cliente, neste sistema o mesmo poderá fazer o upload de arquivo TXT, CSV e Excel para leitura e inserção no banco de dados, mas, no caso do TXT já encontrei um pepino no ar, quando ele vai ler e inserir os dados no banco ele me da o seguinte erro:

 

Microsoft VBScript runtime error '800a003e'

 

Input past end of file

 

Pelo que percebo parece que devido a demora na leitura do banco ele da este erro, pois se tiro o select para comparar e verificar se já não existe tal registro no banco ele executa sem erros.

 

Vejam o código:

 

Set fs=Server.CreateObject("Scripting.FileSystemObject")
		Set f=fs.OpenTextFile("e:\home\site\web\controler\dados\" & SFileName, 1, true)
		do while f.AtEndOfStream = false
		
		SQL = "Select email from tb_new where email = '"& trim(f.ReadLine)&"' and id_grupo = "& trim(grupo) &" "
		Set RS = Cn.Execute(SQL)
		
		If (not rs.eof) then
	
		SQL = "insert into tb_new(email, id_grupo, data_cadastro) values('"& trim(f.ReadLine) &"', "& trim(grupo) &", now())"
			cn.execute(SQL)
	
		end if
		
		rs.close
		set rs = nothing
				
		loop
		f.Close

		Set f=Nothing
		Set fs=Nothing

Alguém ja viu isto ou sabe como resolver ?

 

Ja tentei colocar 1,true, false ja tentei 1, true, e diversas formas, dei uma pesquisada na net mas não achei nada, se alguém puder me ajudar.

 

Obrigado mais uma vez,

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em qual linha do código ocorre o erro?

 

Poste uma linha do TXT para entendermos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, o TXT tem 3 linhas que são:

 

teste@teste.com.br

Teste2@teste2.com.br

teste3@teste3.com.br

 

somente estas linhas, o erro acontece na linha:

 

SQL = "Select email from tb_new where email = '"& trim(f.ReadLine)&"' and id_grupo = "& trim(grupo) &" "

 

Não sei se pode ser o f.ReadLine, estou efetuando uns testes para ver se consigo descobrir também.

 

Xavier

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque seu laço Do While Loop pelo While Wend e teste novamente.

Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile("e:\home\site\web\controler\dados\" & SFileName, 1, true)
WHILE NOT f.AtEndOfStream

SQL = "Select email from tb_new where email = '"& trim(f.ReadLine)&"' and id_grupo = "& trim(grupo) &" "
Set RS = Cn.Execute(SQL)

If (not rs.eof) then
	SQL = "insert into tb_new(email, id_grupo, data_cadastro) values('"& trim(f.ReadLine) &"', "& trim(grupo) &", now())"
	cn.execute(SQL)
	end if

rs.close
set rs = nothing

WEND
f.Close

Set f=Nothing
Set fs=Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, consegui fazer com um outro script, desculpem a demora na resposta é que ficou corrido aqui, mas vou postar ele aqui também para ficar registrado.

 

valeu,

 

xavier

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.