|
Postada em 28/01/2005 14:10 hs
Digamos que eu coloco o caminho de um micro que está na rede para acessar o BD, até aqui tudo bem, mas como ficaria o tratamento dos dados, por exemplo, dois usuários estão acessando os mesmos registros, um acaba excluindo um dos registros e o outro tenta acessar o registro que foi excluido, irei fazer um tratamento informando para o usuário que o registro selecionado foi excluido? Ou ainda um dos usuários altera o registro e o outro usuário continua visualizando o registro só que não alterado, poderia fazer uma função que quando alguém alterasse, atualizasse a janela do outro usuário? No meu caso, é visualizado todos os registros em um grid, quando seleciono um, eu posso ir no relatório de um ou excluir um por um. Digamos que dois usuários entram nesta janela que mostra os registros das "secagens em andamento", um deles entra no relatório de uma secagem e o outro seleciona esta mesma secagem e exclui. O que eu poderia fazer enviar uma mensagem dizendo que não pode excluir esta secagem por estar em uso? Apesar que quando carrega os dados no relatório eu fecho o recordset e limpo da memória, mas ainda sim daria erro, porque poderia ir para a opção do gráfico do relatório e não encontraria mais os dados no BD, já que foi excluido. Outra coisa, este software trabalha em conjunto com um aparelho através de uma porta serial, como faria para receber os dados do aparelho que está conectado na porta serial do servidor, através de winsocks, na qual faria o servidor receber os dados do aparelho, gravar no bd e assim o usuário visualizasse os dados recebidos, que seria uma secagem? Para poder se comunicar com o aparelho através de winsock teria que executar o software do servidor ou deixaria um executavel no systray apenas com as funções de acionar o envio e recebimento da comunicação com o aparelho, seria uma alternativa de não precisar que esteja em execução o aplicativo no servidor, correto? Terei que fazer com que tenha opção de acessar via internet e em rede local ao mesmo tempo, o que pensei foi deixar o banco em um micro da rede em vez de estar na web, como faria o acesso se um micro estiver em uma outra rede, apenas através de winsock ou teria outro jeito?
[]'s, Marcelo Tamanini
|
|
|
|
|
Postada em 28/01/2005 15:22 hs
E se vc criar um campo (0,1) na sua tabela só para verificar se ele está em uso exe: Quando o usuário abre uma consulta esse campo fica com o valor "1" ai quando ele terminar o campo volta a ser "0"........ai vc pode fazer uma consulta por intermédio desse campo... Se o Campo = 0 então Abre consulta Caso contrário Mensagem "Tabela em uso será permitido somente a leitura" Fim Isso vai fazer com que os dados seja alterado somente por uma pessoa...vc pode fazer tb tabelas auxiliares, assim, cria uma Tabela master e cria tabelas auxiliares...os usuários trabalahariam com a tabela auxiliar e td vez que tivesse uma alteração na Tab. Auxiliar ela automaticamente atualizaria a Tabela Master e Zeraria a tabela auxiliar....no caso a tabela master só serviria para armazenar e distribuir os dados ñão deixando ningém mexer diretamente com a tab Master... Deu uma embolada no meio mas acho que ficou uma luz ....
|
|
|
|
Postada em 28/01/2005 17:23 hs
OK! Mas quando alguém estiver atualizando os dados ou recebendo novos dados do aparelho, mostraria uma mensagem para outros usuários que não pode acessar no momenta tal janela que está sendo atualizada, como também se alguém quiser atualizar ou receber novo dados, só podera se não tiver nenhum usuário na mesma janela? Quanto as tabelas, a tabs. auxiliares seriam uma para cada usuário? Se for não daria certo, porque um poderia receber os dados do aparelho e depois outro tb acaba recebendo os mesmo dados, acho que daria muita confusa quando fosse atualizar a tbl master, por exemplo um usuário passa que recebeu 2 novos registros e excluiu 3 registros, outro usuário recebe uma das mesmas secagens e acaba passando os 3 registros que foram excluidos pelo outro usuário. E quanto acessar o banco remotamente, que seria através da web, só tem como com winsocks, só que sem deixar no banco em um provedor, no caso iria acessar o banco em uma outra rede? E nisto para acessar o banco e receber os dados do aparelho o programa teria que estar em execução ou poderia deixar um executavel no systray apenas com um módulo que faria a recepção e a transmissão de dados do aparelho para o micro que está conectado com o aparelho, e deste micro para outro micro fora da rede ou para outro micro dentro da rede local?
[]'s, Marcelo Tamanini
|
|
|
|
Postada em 31/01/2005 08:30 hs
up
|
|
|
|
Postada em 31/01/2005 08:41 hs
Puxa cara o que você quer fazer é extremamente complicado. Talvez com um banco de dados access você não consiga. Só mesmo com um SQL Server(não um MSDE) ou oracle, ou outro banco de dados poderoso pra conseguir fazer um treco desses.
|
|
|
|
Postada em 31/01/2005 08:53 hs
Já pensou em fazer uma VPN com relação a acessar o banco via web?? Acho que vai ser mais fácil e vai te poupar horas de programação...
|
|
|
|