Página 1 de 1
Demora na gravação de dados
Enviado: 06 Ago 2007 21:52
por Sergio Cabral
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?
Enviado: 06 Ago 2007 22:13
por sygecom
Na use o COMMIT e sim o DBCOMMIT()...de uma procurada aqui no forum que esse assunto jah foi debatido.
Abraços
Leonardo Machado
Enviado: 06 Ago 2007 22:18
por Eolo
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...
Enviado: 06 Ago 2007 22:24
por sygecom
De uma olhada tb. no link baixo:
http://www.caclipperwebsite.com/howto/topico01.htm
Abraços
Leonardo Machado
Enviado: 06 Ago 2007 22:25
por Maligno
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.
Enviado: 09 Ago 2007 12:40
por sygecom
Sergio Cabral, realmente o negocio é migrar para 5.2 ou 5.3 ...ou DBCommit() não funciona no 5.01 se prescissar de algo, ou tiver alguma duvida ...pos aqui que resolvemos !!!
Abraços
Leonardo machado
Enviado: 09 Ago 2007 14:40
por Maligno
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.
Enviado: 09 Ago 2007 15:17
por sygecom
Em MP o colega me disse que o DBCOMMIT() não funcionava no 5.01...mas fiz um pequeno teste aqui... e funciona....!!!
Sergio, Posta sua rotina..pra nos dar uma olhada !!! se quiser te mando tb. os pequeno teste que fiz !!!
Abraços
Leonardo Machado
Enviado: 09 Ago 2007 18:05
por Maligno
Em MP o colega me disse que o DBCOMMIT() não funcionava no 5.01...mas fiz um pequeno teste aqui... e funciona....!!!
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.
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.
Enviado: 10 Ago 2007 00:49
por sygecom
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 !!!