Programação Client/Serv - alterar um Reg. q estiver Loked.
Olá!
Tenho a seguinte dúvida.
Uso DELPHI-6 + IB/FB + DBEXPRESS - Progr. Client/Serv
Antes qdo usava Paradox, tinha o seguinte problema:
Quando o usuario do Estoque estava editando um registro de codigo 001
e o faturamento emitia uma nota e tentava baixar o estoque do produto de codigo 001, ocorria um erro de registro Loked e ai os problemas começavam, pois não podia baixar o estoque daquele produto devido estar sendo usado no momento.
Pergunto, agora estou usando IB/FB c/ programacao Client/Serv e desejaria saber se vou continuar a ter o mesmo problema, uma vez que o IB/FB processará somente Transaçoes.
Logo um Client não vai mais travar um registro p/ edita-lo correto, será
q estou certo na minha lógica ?
Se estiver errado, o q deve fazer para contornar o problema ?
Desde já meus agradecimentos.
ANT.CARLOS/SP
T+
Tenho a seguinte dúvida.
Uso DELPHI-6 + IB/FB + DBEXPRESS - Progr. Client/Serv
Antes qdo usava Paradox, tinha o seguinte problema:
Quando o usuario do Estoque estava editando um registro de codigo 001
e o faturamento emitia uma nota e tentava baixar o estoque do produto de codigo 001, ocorria um erro de registro Loked e ai os problemas começavam, pois não podia baixar o estoque daquele produto devido estar sendo usado no momento.
Pergunto, agora estou usando IB/FB c/ programacao Client/Serv e desejaria saber se vou continuar a ter o mesmo problema, uma vez que o IB/FB processará somente Transaçoes.
Logo um Client não vai mais travar um registro p/ edita-lo correto, será
q estou certo na minha lógica ?
Se estiver errado, o q deve fazer para contornar o problema ?
Desde já meus agradecimentos.
ANT.CARLOS/SP
T+
Ant.carlos/sp
Curtidas 0
Respostas
Afarias
23/11/2003
Apenas mantenha as transações curtas.
Se um cliente EDITAR um registro e der um POST, este registro ficará em LOCK até q seja dado um commit (ou rollback ou seus retainings).
Vc pode definir suas transações como NO_WAIT (gera um erro caso o registro esteja bloqueado) ou WAIT (espera até q o registro seja liberado) .. neste segungo caso exige mais cautela. Tenha certeza q vai manter controle absoluto de suas transações e nunca as deixará longas (apos uma edição).
Se vc usa ClientDataSets (MIDAS) ou outra solução do tipo, isto não tem a menor importância. As transações serão tão curtas q praticamente nunca haverá possibilidade de um bloqueio.
T+
Se um cliente EDITAR um registro e der um POST, este registro ficará em LOCK até q seja dado um commit (ou rollback ou seus retainings).
Vc pode definir suas transações como NO_WAIT (gera um erro caso o registro esteja bloqueado) ou WAIT (espera até q o registro seja liberado) .. neste segungo caso exige mais cautela. Tenha certeza q vai manter controle absoluto de suas transações e nunca as deixará longas (apos uma edição).
Se vc usa ClientDataSets (MIDAS) ou outra solução do tipo, isto não tem a menor importância. As transações serão tão curtas q praticamente nunca haverá possibilidade de um bloqueio.
T+
GOSTEI 0