Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera.
Não entendo quase nada de VB, o pouco que eu entendo é o VBScript daquelas importações de arquivos para banco de dados.
O que eu preciso é importa uma lista com todos os arquivos contidos em uma pasta e a quantidade de linhas de cada um. Além do tamanho e tals.
Como posso fazer isso sem importar efetivamente o arquivo para o banco de dados?
Alguém teria um script de exemplo?
valeu!!!
Não tem nada pronto ainda.
Por enquanto o que eu condigo fazer é importar a lista de arquivos contidos em uma pasta, mas isso via DTS do SQL Server, executo um .bat que lista os arquivos e joga em um arquivo de texto e depois importo ele.
Só que gostaria de fazer isso via aquele VBScript de parametros de importação do arquivo pegando também a quantidade de linhas do arquivo. a partit daí jogaria normalmente para dentro de uma tabela do banco.
Não achei nenhum exemplo disso na internet mas notei que talvez eu possa usar o EOF pra "caminhar" pelas linhas do arquivo contando-as. Mas fora isso não faço a minima ideia de como farei. Pensei também em jogar para uma matriz para depois jogar para o banco mas também não sei como farei isso.
Olá Bruno.
Seu pensamento está correto, você pode utlizar sim o EOF para contagem das linhas.
Segue abaixo um exemplo:
Open "seu_arquivo.txt" For Input As #1
Do Until EOF(1)
Line Input #1, linha
i = i + 1
Loop
Close #1
msgbox i
Tendo dúvidas poste ai.
Fiz o que você postou mas só fica dando o erro "Fim da instrução esperado" até onde eu sei não há nada de errado. Dêem uma olhada:
'**********************************************************************
' Visual Basic ActiveX Script
'************************************************************************
Function Main()
Open "E:\bruno\conferencia arquivos escobs\PEINCS200902210124486.txt" For Input As #1
Do Until EOF(1)
Line Input #1, linha
i = i + 1
Loop
Close #1
msgbox i
Main = DTSTaskExecResult_Success
End Function
Que linha o erro está apontando?
linha 7
nesse trecho aqui:
Open "E:\bruno\conferencia arquivos escobs\PEINCS200902210124486.txt" For Input As #1
Nossa, estranho o erro.
Reparei que sua função é uma Functio Main.
Você está iniciando seu programa pelo Module? Se for, vou tentar fazer o mesmo que está fazendo para ver se gera erro também.
Esse script é ativado via banco de dados SQL server, através de um módulo DTS mesmo.
Bruno, dei uma procurada sobre DTS para ver se encontrava algo que pudesse te ajudar, mas não achei nada falando sobre DTS e leitura e textos.
Mas dê uma olhada nesse tópico aqui, ele fala sobre erros que podem ocorrer usando DTS que são mal explicados. Tente ver se alguma coisa se encaixa com o que está fazendo.
Bem, pelo o que eu entendi.
Voce pode mandar o VB fazer essa contagem e gravar em uma Variavel para você poder utiliza-la depois.
Tem algo pronto desse script?
apra poder ajudar a te ajudar!