[firebase-br] Refresh em Rede

firebase em dominioinf.com.br firebase em dominioinf.com.br
Qua Ago 12 16:51:02 -03 2015


Bom dia Renilson,

Não o mesmo registro, mas em registros diferentes

Por exemplo, se o usuario 1 paga uma parcela do crediario, ele marca 
como baixado, atualiza o registro
na maquina em que foi alterada no usuario 1. Mas se usuario 2 for fazer 
uma busca numa maquina 2, o cliente que baixou
a parcela no usuario 1 ainda esta em aberto para o usuario 2.

Carlos Cantu pediu para mim pesquisar sobre dml caching mas não consegui 
fazer funcionar.

Grato pela ajuda

Rodrigo

Em 2015-08-11 16:47, Renilson Santos Moura escreveu:
> Olá, você quer que ao realizar um CRUD os dados sejam automaticamente
> atualizados se os usuários estiverem na mesma tela?
> 
> []s
> 
> Renilson
> 
> Em 11 de agosto de 2015 12:10, <firebase em dominioinf.com.br> escreveu:
> 
>> Alguem usa o mesmo sistema e conseguiu fazer?
>> 
>> Grato
>> 
>> 
>> Em 2015-07-31 12:27, firebase em dominioinf.com.br escreveu:
>> 
>>> Bom dia,
>>> 
>>> Consegui abrir o arquivo de help do ibo no windows xp, e tentei
>>> entender o que estava escrito no
>>> Global DML Caching
>>> 
>>> Tentei fazer assim:
>>> 
>>> Criei a tabela
>>> CREATE TABLE IBO$DMLCACHE (
>>>   DMLID           INTEGER              NOT NULL  /* mapped by
>>> ColIDName property */
>>> , DMLACTION  CHAR( 1 )            NOT NULL  /* mapped byColActionName
>>> property - this stores A, U or D according to the DML Action 
>>> requested
>>> by an announcing dataset */
>>> , KEYFIELDS     VARCHAR( 128  ) NOT NULL /* mapped by 
>>> ColKeyFieldsName
>>> property, a column for storing a  semicolon-separated list of the
>>> names of up to three key fields, in KeyLinks order,  in the 
>>> announcing
>>> or receiving  dataset's KeyLinks.  Another property, ColValuesNames,
>>> is a comma-separated list of the names of the columns, in KeyLinks
>>> order,  where the values of these columns from the announcing dataset
>>> will be stored in the DML cache table */
>>> , KEYVALUE1   VARCHAR( 128 )  NOT NULL /* Name of the column to store
>>> announcing/receiving dataset's first or only KeyLinks value */
>>> , KEYVALUE2   VARCHAR( 128 )  /* ditto, second KeyLinks value, if 
>>> needed
>>> */
>>> , KEYVALUE3   VARCHAR( 128 )  /*ditto, third KeyLinks value, if 
>>> needed */
>>> , DMLUSER      VARCHAR( 32 )   NOT NULL /* mapped by property 
>>> ColUserName
>>> */
>>> );
>>> ALTER TABLE IBO$DMLCACHE
>>> ADD CONSTRAINT PK_IBO$DMLCACHE_1 PRIMARY KEY (DMLID);
>>> 
>>> Criei uma trigger
>>> 
>>> CREATE TRIGGER AI_IBO$DMLCACHE FOR IBO$DMLCACHE
>>> ACTIVE AFTER INSERT POSITION 0
>>> AS
>>> BEGIN
>>>   POST_EVENT 'IBO$DMLCACHE';
>>> END;
>>> 
>>> Aqui uma parte que não entendi muito bem
>>> 
>>> CREATE TRIGGER AI_QUESTION_IBO$DMLCACHE FOR CAIXASUP  // aqui inseri 
>>> o
>>> nome da minha tabela
>>> ACTIVE AFTER INSERT POSITION 0
>>> AS
>>> BEGIN
>>>   INSERT INTO IBO$DMLCACHE( DMLACTION, KEYFIELDS, KEYVALUE1 )
>>>     VALUES ( 'I', 'QUESTIONID', NEW.CODIGO );  // aqui inseri a chave
>>> primaria da tabela caixasup
>>> END;
>>> 
>>> CREATE TRIGGER AU_SURVEY_IBO$DMLCACHE FOR CAIXASUP   // inseri o nome 
>>> da
>>> tabela
>>> ACTIVE AFTER UPDATE POSITION 0
>>> AS
>>> BEGIN
>>>   INSERT INTO IBO$DMLCACHE( DMLACTION, KEYFIELDS, KEYVALUE1 )
>>>     VALUES ( 'U', 'SURVEYID', OLD.CODIGO );  // inseri a chave
>>> primaria do caixasup
>>> 
>>> 
>>> Inseri um componente IB_SyncCursor1 ligado ao meu IBODatabase1
>>> 
>>> IBODatabase1.Open;
>>> IB_SyncCursor1.Active:= true;
>>> 
>>> Ai aparece uma mensagem ao executar a aplicaçaão: Unassigned
>>> application handler.
>>> 
>>> Com certeza estou fazendo algo errado.
>>> 
>>> Se puderem dar uma ajuda.
>>> 
>>> Grato
>>> 
>>> 
>>> 
>>> 
>>> Em 2015-07-30 14:08, Carlos H. Cantu escreveu:
>>> 
>>>> Primeiro vc tem que verificar se o isolamento transacional que vc 
>>>> está
>>>> usando permite enxergar as informações que já foram commitadas (ex:
>>>> ReadCommited), caso contrário, enquanto a transação associada a 
>>>> query
>>>> estiver aberta, ela continuará enxergando as mesmas informações de
>>>> quanto ela foi iniciada.
>>>> 
>>>> Indo mais além, o IBO tem um recurso que faz a auto-atualização dos
>>>> buffers em memória automaticamente nas estações... pesquise sobre
>>>> DMLCaching em http://www.ibobjects.com/TechInfo.html
>>>> 
>>>> []s
>>>> Carlos H. Cantu
>>>> www.FireBase.com.br - www.firebirdnews.org
>>>> www.warmboot.com.br - blog.firebase.com.br
>>>> 
>>>> fdcb> Bom dia Todos,
>>>> 
>>>> fdcb> Estou com um problema e gostaria da opnião dos participantes 
>>>> sobre
>>>> um
>>>> fdcb> problema que estou tendo aqui.
>>>> 
>>>> fdcb> Uso Delphi 7, IBO, Firebird 2.5
>>>> 
>>>> fdcb> Quando um usuario abre o sistema em varios computadores em 
>>>> rede, um
>>>> fdcb> altera uma informação, na outra estação esse registro não é
>>>> fdcb> alterado. Tenho que fechar a tabela e abri-la novamente, então
>>>> aparece
>>>> fdcb> atualizado.
>>>> 
>>>> fdcb> As vezes em alguns o clientes, eles baixar um crediario em uma
>>>> estação,
>>>> fdcb> o sistema baixa normalmente,
>>>> fdcb> derepente vão em outra estação consultar, o crediario ainda 
>>>> esta em
>>>> fdcb> aberto naquele computador, então
>>>> fdcb> eles tentam baixar novamente.
>>>> 
>>>> fdcb> Como vcs estão lidando com essa situação?
>>>> 
>>>> fdcb> Eu pensei em inserir um timer no formulario principal e ir 
>>>> dando
>>>> refresh
>>>> fdcb> a cada 10 segundos.
>>>> 
>>>> fdcb> Mas surgiu algumas duvidas, isso poderia sobrecarregar os 
>>>> recursos
>>>> da
>>>> fdcb> maquina? Se um usuario estivesse
>>>> fdcb> digitando um pedido, e em outra maquina executasse um refresh 
>>>> da
>>>> tabela
>>>> fdcb> pedidos, isso poderia geral algum
>>>> fdcb> erro na outra maquina que esta gerando o pedido?
>>>> 
>>>> fdcb> Uma outra duvida seria se o proprio ibo ja não exista uma
>>>> propriedade
>>>> fdcb> que faça isso automatico.
>>>> 
>>>> fdcb> Grato pela ajuda
>>>> 
>>>> 
>>>> 
>>>> fdcb> ______________________________________________
>>>> fdcb> FireBase-BR (www.firebase.com.br) - Hospedado em
>>>> www.locador.com.br
>>>> fdcb> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> fdcb> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> fdcb> Para consultar mensagens antigas:
>>>> fdcb> http://www.firebase.com.br/pesquisa_lista.html
>>>> 
>>>> 
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas:
>>>> http://www.firebase.com.br/pesquisa_lista.html
>>>> 
>>> 
>>> 
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas:
>>> http://www.firebase.com.br/pesquisa_lista.html
>>> 
>> 
>> 
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: 
> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista