[firebase-br] Refresh em Rede
firebase em dominioinf.com.br
firebase em dominioinf.com.br
Sex Jul 31 12:27:01 -03 2015
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
Mais detalhes sobre a lista de discussão lista