Registro <tabela> foi alterado desde que foi lido. (1071)

Discussão em 'Banco de Dados / Database' iniciado por adautosb, Fevereiro 1, 2013.

  1. adautosb

    adautosb Sem Pontuação

    Pessoal,

    estou enfrentado um problema que recebo este alerta "Registro <tabela> foi alterado desde que foi lido. (1071)" depois de executar este codigo:

    *****************************************************
    find mmix where etbcod = 52 and mercod = 51 .
    disp mixqtde.
    message "p1".
    pause.
    assign mixqtde = mixqtde + 1 .
    message "p2".
    pause.
    disp mixqtde.
    *****************************************************

    Executando em um Progress nativo ele funciona bem: a primeira execucao ele 'locka' o registro e o segundo fica esperando, depois que liberou ele faz o update.
    Executando no Data Server com Oracle nao: a primeira execucao ele 'locka' o registro e o segundo fica esperando, depois que liberou o segundo tenta dar update e gera o erro.

    Se eu por "exclusive-lock" resolve o problema porem teria que alterar inumeros programas.

    Existe alguma forma de resolver isso sem ter que alterar o codigo? Alguem ja enfrentou este problema antes? É um bug ou um comportamento normal?

    Agradeco desde ja.

    Obrigado.

Compartilhe esta Página