Página Inicial
3/4/2005 por Mello
Num domingo pela manhã ...
  Hoje, domingo pela manhã resolvi realizar alguns testes com gravação remota de registros e dividirei com vocês. É o seguinte, estou tentando gravar uma massa de 500.000 registros junto ao servidor . A rotina consiste na exportação dos dados de uma tabela TPS em disco local para um BD de acesso pela WEB. Fizemos a primeira tentativa e dos 500.000 registros apenas 99.000 foram incluídos, pensem que este processo levou algumas horas para ser concluído, pelo que deixamos o programa rodando de um dia para o outro. Então ligamos para o "Provedor de Acesso" reclamando o fato de que deixamos uma rotina rodando e que em determinado momento esta parou de funcionar adequadamente. Eles, se encheram de razão e nos responderam que realmente existia um bloqueio pelo excesso de demanda e que muito provavelmente esta conexão havia atingido o tal limite. Não me conformei e elaboirei uma nova rotina. Desta vez criei uma queue contendo a chave de todos os registros do BD para que antes de tentar gravar pudessemos verificar a existência do registro na Queue, se não existisse, mandaríamos bala para a gravação. Como criar esta queue sem que realizássemos um tráfego enorme na rede? Simples, abrimos uma View e passamos uma sentença SQL que iria ler de uma só vez os registros e nos trazer para dentro da View e dali então carregamos a Queue. Concluímos as alterações e botamos o programa para rodar de sábado para domingo. Quando chegamos hoje pela manhã, nos deparamos com apenas o acrescimo de 50.000 registros. Então depois de muito refletir concluímos que merecia a rotina um tratamento de erro logo após a tentativa de adicionar um registro a mais no BD, pois se a desgraçada da conexão desse uma "piscada" bem no momento em que estivéssemos no comando ADD, retornaria um erro de arquivo. Muito bem! Pensamos correto e descobrimos que o erro que aparece é o 90 (Erro no sistema de arquivos) e que este erro quando aparece normalmente é porque estamos tratando de drivers não nativos, como é o nosso caso e o erro efetivo então vem postado diretamente no respectivo driver que devemos capturar com a função "FileError()". Legal, agora vamos continuar nossa pesquisa e logo postaremos outra mensagem com os caminhos que percorremos para chegar ao objetivo proposto. Tenham todos um excelente domingo onde o meu São Paulo deve ser campeão em cima do Santos que tanto nos fez sofrer em outros anos. .
 
GESCLA - Grupo de Estudos Clarion - Todos os direitos reservados © - 2005
Fale Conosco Página Inicial Acesso Restrito