MELHOR FORMA PARA MONITOR UM PASTA
Pessoal estou com um problema da seguinte forma,
Preciso monitor uma determinado pasta, onde precisarei monitorar para que quando o usuário colocar um arquivo automaticamente ele copia para outro determinado diretório, não posso dar a chance de alguém copiar o arquivo e abri-lo.
Minha solução é:
O usuário exporta de um outro sistema um arquivo contendo resultado de análises quÃmicas, minha aplicação é ler esse arquivo CSV que é exportado e inserir os resultados na minha base de dados. O processo de ler, incluir no banco já está pronto, mas eu tenho que garantir de qualquer forma que ninguém altere o conteúdo desse arquivo tem que estar intacto, então minha solução é criar um rotina de monitoramento muito rápida que quando o usuário exportar automaticamente ele copia o arquivo para outro determinado diretório, tem que ser coisas de segundo pois ele pode exportar e abrir o arquivo e alterar o resultado. E também se o arquivo estiver aberto eu não conseguirei ler as informações.
Não sei se o timer seria a melhor forma, pois esse sistema ficará somente aberto não se fecha, somente quando o servidor tiver desligado, se o timer ficar em segundo não sei se pode consumir muita memória.
Pensem que nesse arquivo tem os resultados de DNA, inviolável e a única forma de se fazer isso é o pessoal exportando esse arquivo do equipamento e eu ler esse CSV.
Conto com a ajuda dos senhores.
Preciso monitor uma determinado pasta, onde precisarei monitorar para que quando o usuário colocar um arquivo automaticamente ele copia para outro determinado diretório, não posso dar a chance de alguém copiar o arquivo e abri-lo.
Minha solução é:
O usuário exporta de um outro sistema um arquivo contendo resultado de análises quÃmicas, minha aplicação é ler esse arquivo CSV que é exportado e inserir os resultados na minha base de dados. O processo de ler, incluir no banco já está pronto, mas eu tenho que garantir de qualquer forma que ninguém altere o conteúdo desse arquivo tem que estar intacto, então minha solução é criar um rotina de monitoramento muito rápida que quando o usuário exportar automaticamente ele copia o arquivo para outro determinado diretório, tem que ser coisas de segundo pois ele pode exportar e abrir o arquivo e alterar o resultado. E também se o arquivo estiver aberto eu não conseguirei ler as informações.
Não sei se o timer seria a melhor forma, pois esse sistema ficará somente aberto não se fecha, somente quando o servidor tiver desligado, se o timer ficar em segundo não sei se pode consumir muita memória.
Pensem que nesse arquivo tem os resultados de DNA, inviolável e a única forma de se fazer isso é o pessoal exportando esse arquivo do equipamento e eu ler esse CSV.
Conto com a ajuda dos senhores.
Você não pode gravar o arquivo no banco de dados e apagar o arquivo fÃsico?
Amigo a única forma de se obter os resultados é via importação, esse computador está ligado a um equipamento de análise se a saÃda dos resultados e só via CSV.
O usuário pede para exportar o resultado onde é gerado um CSV e ele salva no diretório que quero, eu teria eu apenas monitorar o momento do lançamento e copiar para outro diretório onde ele não tem permissão.
Lembrando que esse sistema ficará rodando em um servidor e o usuário não terá acesso a esse servidor.
O usuário pede para exportar o resultado onde é gerado um CSV e ele salva no diretório que quero, eu teria eu apenas monitorar o momento do lançamento e copiar para outro diretório onde ele não tem permissão.
Lembrando que esse sistema ficará rodando em um servidor e o usuário não terá acesso a esse servidor.
LUIS FLAVIO ate e possivel mais ficar lendo uma pasta o tempo todo vai rouber processamento da maquina o negocio mesmo seria como o amigo LVFIOROT citou , você teria de terntar integrar diretamente ao outo sistema ,
Pessoal é impossÃvel integrar a esse sistema, também contraria todos os padrões de análise.
Cara.
Tenta o seguinte
Um aplicativo só pra fazer essa transação, com um timer pra tarefa que precisa, então mesmo rodando 24 hs sem parar ( se preciso é claro ), não
deverá interferir no desempenho da tua aplicação principal.
Vai ficar um aplicativo extremamente pequeno rodando oculto e que ficará independente da dua aplicação original, teóricamente, não interferindo
no desempenho ao longo do expediente se tu montar dentro do próprio aplicativo vai ficar pesado o processamento dificultando o trabalho no dia a dia.
é só uma idéia, é claro.
Ah, abertura do banco compartilhado,
Blz . . .
. . .
Sempre vai pra o mesmo lugar sem que o usuario saiba onde? Não, o usuário irá selecionar o diretório para salvar dentro do servidor.
Sempre vai pra o mesmo lugar sem que o usuario saiba onde? Não, o usuário irá selecionar o diretório a ser salvo (esse diretório já está definido)
Esse [Ô]sistema da maquina[Ô] fica instalado no servidor ou na maquina do usuário? Fica instalado em uma máquina e os dados ele exporta para o servidor direto.
Eu sei que se o cara salvar na máquina ele pode alterar a informação, mas não conseguimos acessar a base de dados do sistema/equipamento.
Sempre vai pra o mesmo lugar sem que o usuario saiba onde? Não, o usuário irá selecionar o diretório a ser salvo (esse diretório já está definido)
Esse [Ô]sistema da maquina[Ô] fica instalado no servidor ou na maquina do usuário? Fica instalado em uma máquina e os dados ele exporta para o servidor direto.
Eu sei que se o cara salvar na máquina ele pode alterar a informação, mas não conseguimos acessar a base de dados do sistema/equipamento.
Olá LuÃs.
Em VB6 desconheço processo nativo que possa realizar este processo... Já em VB.NET existe a classe FileSystemWatcher que faz exatamente o que você precisa... Ela fica monitorando um determinado diretório e verifica possÃveis alterações, criações e etc... e executa determinado evento. Na net você conseguira encontrar diversos exemplos bem simples de serem aplicados em sua tarefa.
Porém é válido lembrar que você continua com os mesmos problemas, pois o usuário tem total liberdade de escolher para onde enviar o arquivo original.
Espero ter lhe ajudado.
Abs
Em VB6 desconheço processo nativo que possa realizar este processo... Já em VB.NET existe a classe FileSystemWatcher que faz exatamente o que você precisa... Ela fica monitorando um determinado diretório e verifica possÃveis alterações, criações e etc... e executa determinado evento. Na net você conseguira encontrar diversos exemplos bem simples de serem aplicados em sua tarefa.
Porém é válido lembrar que você continua com os mesmos problemas, pois o usuário tem total liberdade de escolher para onde enviar o arquivo original.
Espero ter lhe ajudado.
Abs
Tópico encerrado , respostas não são mais permitidas