Demora na gravação de dados
Moderador: Moderadores
-
Sergio Cabral
- Usuário Nível 2

- Mensagens: 52
- Registrado em: 18 Set 2004 18:51
- Localização: São José dos Campos
Demora na gravação de dados
Quando o programa está rodando em XP no momento da gravação dos dados demora muito. Se está em um terminal de rede demora ainda mais. Uso o comando neterr() para gravar e commit e unlock apos a gravação.O que devo fazer?
Sou programador em Clipper 5.01 a 15 anos e procuro melhorar meus conhecimentos. Este site me parece muito bom e poderemos nos ajudar.
Sérgio,
Vc não indicou se você está falando da gravação de 1 campo em um registro ou se é um volume grande de dados...
O que dá pra adiantar:
a) o comando COMMIT força a gravação dos caches de todas as áreas abertas. Ao invés dele, use o DBCommit(), que faz o mesmo só na área de trabalho ativa.
b) vc usa a função NETERR() pra "GRAVAR"? Não entendi. O que essa função faz é só testar se um USE ou APPEND BLANK foram bem sucedidos.
Dê mais informações...
Vc não indicou se você está falando da gravação de 1 campo em um registro ou se é um volume grande de dados...
O que dá pra adiantar:
a) o comando COMMIT força a gravação dos caches de todas as áreas abertas. Ao invés dele, use o DBCommit(), que faz o mesmo só na área de trabalho ativa.
b) vc usa a função NETERR() pra "GRAVAR"? Não entendi. O que essa função faz é só testar se um USE ou APPEND BLANK foram bem sucedidos.
Dê mais informações...
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
De uma olhada tb. no link baixo:
http://www.caclipperwebsite.com/howto/topico01.htm
Abraços
Leonardo Machado
http://www.caclipperwebsite.com/howto/topico01.htm
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Verifique também se voc6e tem uma gravação em lote no mesmo arquivo de dados, como num WHILE ou FOR/NEXT, por exemplo. Eu tenho gravações desse tipo. Às vezes tenho que gravar vários registros, mas dou COMMIT apenas após mandar o último registro. Se fosse emitir um COMMIT pra cada registro, teria o mesmo problema que você. Agora, se você grava em várias áreas, use COMMIT sem dó nem piedade. Ele serve pra isso mesmo. Se alguma área não tiver gravação pendente (buffer), não vai fazer diferença alguma.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Só faltou o colega voltar ao tópico e complementar as informações pedidas e/ou dizer se as dicas funcionaram. Qualquer outra coisa que se diga a mais será um mero "chute".
De qualquer forma, o dbCommit() deve funcionar no 5.01. Mas é sempre bom atualizar para uma versão mais recente e mais estável.
De qualquer forma, o dbCommit() deve funcionar no 5.01. Mas é sempre bom atualizar para uma versão mais recente e mais estável.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Não vejo por quê não funcionaria, realmente. Muito embora seja aconselhável trocar a versão 5.01 por outra mais recente: 5.2 ou 5.3. E complementado o rol de dicas, seria interessante adicionar um pouco mais de "modernidade" com o BLinker 7. É bem provável que ele ainda utilize o RTLink.Em MP o colega me disse que o DBCOMMIT() não funcionava no 5.01...mas fiz um pequeno teste aqui... e funciona....!!!
De qualquer maneira, o problema do colega parece estar mais relacionado com lógica. Se ele conseguiu resolveu o problema, melhor. Caso contrário, acabará voltando ao tópico.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, calma que toh no http://www.google.com.br/ ...vendo se acho algo pra te dizer !!!....
Obs: Toh procurando pra ver o que quer dizer Dicionario !!!
Obs: Toh procurando pra ver o que quer dizer Dicionario !!!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql

