ACCESS - TRANSACOES NAO SAO EFETUADAS

LLAIA 28/07/2009 13:44:26
#318134
Saudações amigos!!

Em um sistema que realizo manutenção ocorre o descrito no título em um cliente. Quando se fecha o pedido algumas transações não são [Ô]comitadas[Ô] por assim dizer. A aplicação não retorna erro, segue normalmente.

Existe alguma forma de evitar isso?

A conexão é feita com DAO e o Servidor usa Win Server 2000. Já coloquei a instrução DBEngine.Idle dbRefreshCache e não resolveu ...

Se alguém passou por isso e puder dá uma luz aí agradeço muito!!
WEBMASTER 04/08/2009 17:57:14
#318891
Estamos falando realmente de Access neste caso ?
Se sim...acho que vai ser dificil uma resposta, pois eh muito avancado para o access, acredito eu.
LLAIA 04/08/2009 18:10:45
#318897
Prezado WEBMASTER, pior que é o Access mesmo!! O interessante é que alguns clientes que tem o mesmo sistema aconteceu o descrito por mim mas é muito pouco. O sistema é mal escrito, por exemplo, num procedimento de fechamento de pedidos são chamadas várias procedures, cada uma abrindo conexão com o banco. Como ocorreu muito pouco em outros clientes, acredito que o problema é a combinação: Código mal feito + algum problema de hardware (talvez rede).

Só sei que tá dando um trabalhão aqui !!! A resolução pelo visto vai ser na base da tentativa mesmo.

Aguardo recomendações!
RICART 04/08/2009 18:17:37
#318903
Leandro,
O sistema e o bd são em access?

Se o sistema for em access, verifique as referências, se têm as mesmas versões das dll's e ocx's nas mesmas máquinas. Já tive problema com referências diferentes.
LLAIA 04/08/2009 18:41:41
#318911
Citação:

RICART escreveu:
Leandro,
O sistema e o bd são em access?
...




O sistema é em VB6 mesmo.
WEBMASTER 05/08/2009 13:41:22
#318988
Sinceramente diante do cenario que voce expos, eu so posso te desejar muita sorte !
E passe semanalmente na igreja para rezar, porque essa arquitetura esta fardada ao fracasso, com certeza !

Se tiver oportunidade, migre para sql server, da trabalho, mas compensa !
LLAIA 05/08/2009 14:16:58
#318998
Com certeza Webmaster, eu to pensando nessas procedures intermediárias criar um parâmetro por referencia ao objeto DAO.Database inicial no processo (o que é aberto primeiro) e no final de tudo, passar um DBEngine.CommitTrans, e lógico, no inicio de tudo passar um DBEngine.BeginTrans.

Vou encerrar o tópico, se obtiver sucesso, eu reabro e descrevo como consegui e encerro novamente.


Obrigado a todos!
Tópico encerrado , respostas não são mais permitidas