[firebase-br] Record Version (TRANSACTION) Problemas no IBX
Augusto
augusto em cmsolucoes.com.br
Sex Ago 26 17:07:34 -03 2005
Verifique se realmente a Transacao 2 não esta tentando alterar o registro da
Transacao 1,
seria estranho lançar movimentos na tabela de Pedidos sem acertar a
quantidade
em estoque da tabela TabProduto...
verifique se não tem nenhum Trigger, SP ou o próprio orograma
não faz essa atalização...
se fizer, AI vc tem um problema pois isso não vai ser permitido pelo BD...
o que vc vai ter que fazer é manter todas as alterações no APLICATIVO
via CachedUpdates ou outra metodologia e só enviar as informações para
o BD quando for confirmado os processos.
Augusto
----- Original Message -----
From: "Exclaim Tecnologia" <exclaimtecnologia em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, August 26, 2005 2:53 PM
Subject: Re: [firebase-br] Record Version (TRANSACTION) Problemas no IBX
> Apenas para esclarecer, as duas transações não estão alterando o registro
> uma delas altera o saldo, a outra apenas insere esse produto em uma outra
> tabela
>
> Assim
>
> Transacao 1
> TabProduto -> altera o campo estoque
>
> transacao 2
>
> insere um registro na TabProdutosPedido onde eu tenho o produto como chave
> estrangeira
>
> FUI!!
>
>
> ----- Original Message -----
> From: "Exclaim Tecnologia" <exclaimtecnologia em yahoo.com.br>
> To: "Lista Firebase" <lista em firebase.com.br>
> Sent: Friday, August 26, 2005 2:28 PM
> Subject: [firebase-br] Record Version (TRANSACTION) Problemas no IBX
>
>
>>E ai amigos da Comunidades, estou para ficar louco com transações no
>>interbase, estudei varios artigos e sempre usei o nivel de isolamento read
>>committed (ler apenas os dados gravados) o componente transaction da
>>palheta ibx ta configurado
>> como
>> read_committed
>> rec_version
>> nowait
>>
>> Exemplo, eu dou entrada no estoque no produto 1 sem commitar, o campo
>> Estoque é incrementado, se alguem tenta inserir o produto 1 em um pedido
>> (somente inserir, chave estrangeira) ele da erro : "lock conflict on no
>> wait transaction", estudei o erro e vi que me referia ao nowait, ou seja
>> ele nao espera, tentei passar para wait ai ele fica travado ate que um
>> commit ou rollback seja dado na entrada do estoque, gostaria de fazer
>> assim: mesmo que ele tenha alterado o estoque sem dar commit, eu consiga
>> inserir esse produto no pedido normalmente considerando a ultima
>> atualização commitada ou seja, se antes o estoque estava com 15 e nessa
>> entrada sem commit ele foi para 18, nao interessa, o 15 que devera ser
>> lido sem dar erro, li algo sobre usar read_committed e rec_version, assim
>> ele nao daria o erro nem precisaria usar o wait ou nowait, mas nao deu
>> certo, tirando apenas o nowait dos parametros ele assume como wait.
>> Alguem poderia me ajudar?
>>
>> OBS: ja li artigos da comunidade firebird de lingua portugues, firebase,
>> ja busquei informacoes em outras posts mas nao consegui nada que me
>> ajudasse.
>>
>>
>>
>>
>> _______________________________________________________ Yahoo! Acesso
>> Grátis - Internet rápida e grátis. Instale o discador agora!
>> http://br.acesso.yahoo.com/
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
>
> _______________________________________________________ Yahoo! Acesso
> Grátis - Internet rápida e grátis. Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista