BDE atualização na rede com Paradox
Qual seria a melhor configuração do BDE em rede ?
Meu problema é o seguinte:
Os dados não são atualizados em tempo real na rede!
Exemplo: Um usuario faz uma inclusao de uma conta a pagar, outro usuario (em outra estação) vai emitir um relatorio de contas a pagar, o titulo lançado não aparece no relatório e nem em outro lugar do programa rodando (exceto no programa de quem lançou esse novo registro)! Esse titulo lançado só vai aparecer se o usuario fechar o programa e executar novamente.
Não sei se fui claro...
Se puder me ajudar...
Valew pessoal !
Meu problema é o seguinte:
Os dados não são atualizados em tempo real na rede!
Exemplo: Um usuario faz uma inclusao de uma conta a pagar, outro usuario (em outra estação) vai emitir um relatorio de contas a pagar, o titulo lançado não aparece no relatório e nem em outro lugar do programa rodando (exceto no programa de quem lançou esse novo registro)! Esse titulo lançado só vai aparecer se o usuario fechar o programa e executar novamente.
Não sei se fui claro...
Se puder me ajudar...
Valew pessoal !
Marfred
Curtidas 0
Respostas
Allen74
27/08/2003
Marcelo,
Consulte estes dois links:
http://www.geocities.com/SiliconValley/Cable/6530/artigos/mai99/artigo-1999-05-15.html
http://www.geocities.com/SiliconValley/Cable/6530/artigos/jun99/artigo-1999-06-21.html
Consulte estes dois links:
http://www.geocities.com/SiliconValley/Cable/6530/artigos/mai99/artigo-1999-05-15.html
http://www.geocities.com/SiliconValley/Cable/6530/artigos/jun99/artigo-1999-06-21.html
GOSTEI 0
Marconi
27/08/2003
Não sei se o seu banco de dados é Paradox ou DBF controlados por BDE.
No BDE as coisas funcionam assim:
O arquivo PDOXUSRS.NET controla os usuários, enquanto os arquivos PARADOX.LCK e PDOXUSRS.LCK bloqueiam para os outros usuários os registros que estão em manutenção (edicão ou Insersão), a não ser para leitura.
O PDOXUSRS.NET voce deve ter um só, exatamente onde voce controla toda a rede. No parâmetro NetDir do BDE voce controla isto. Também via programação voce pode especificar a linha de comando, por exemplo :
Session.NetFileDir:=´f:\rede´;
Em todos as aplicações voce pode colocar este mesmo parâmetro. Isto permitirá que aplicações diferentes compartilhem seus bancos de dados.
Os outros arquivos com extensão ´.LCK´ voce vai encontrar nos diretórios de cada DataBase criado.
Para que todos compartilhem as mesmas informações em tempo real, voce pode acionar logo apos o
Tabela.Post;
um comando de
Tabela.refresh;
Isto fará que as atualações sejam comuns a todos usuários. A demora que pode ocorrer se dara enquando o BDE atualiza os arquivos LCK.
Durante a edição ou insersão os novos dados não estarão disponíveis até que sejam executadas as linhas de comando acima (post e refresh);
Cordialmente
Marconi
No BDE as coisas funcionam assim:
O arquivo PDOXUSRS.NET controla os usuários, enquanto os arquivos PARADOX.LCK e PDOXUSRS.LCK bloqueiam para os outros usuários os registros que estão em manutenção (edicão ou Insersão), a não ser para leitura.
O PDOXUSRS.NET voce deve ter um só, exatamente onde voce controla toda a rede. No parâmetro NetDir do BDE voce controla isto. Também via programação voce pode especificar a linha de comando, por exemplo :
Session.NetFileDir:=´f:\rede´;
Em todos as aplicações voce pode colocar este mesmo parâmetro. Isto permitirá que aplicações diferentes compartilhem seus bancos de dados.
Os outros arquivos com extensão ´.LCK´ voce vai encontrar nos diretórios de cada DataBase criado.
Para que todos compartilhem as mesmas informações em tempo real, voce pode acionar logo apos o
Tabela.Post;
um comando de
Tabela.refresh;
Isto fará que as atualações sejam comuns a todos usuários. A demora que pode ocorrer se dara enquando o BDE atualiza os arquivos LCK.
Durante a edição ou insersão os novos dados não estarão disponíveis até que sejam executadas as linhas de comando acima (post e refresh);
Cordialmente
Marconi
GOSTEI 0
Bacalhau
27/08/2003
Marconi, infelizmente o refresh não garante a passagem dos dados em buffer, para o seu local físico :(
Há que utilizar as potencialidades da unit BDE (acho...) para esvaziar esse mesmo buffer.
Há que utilizar as potencialidades da unit BDE (acho...) para esvaziar esse mesmo buffer.
GOSTEI 0
Virus69
27/08/2003
cara, consegui fazer a atualização na rede fiz o comando refrsh e também refresh no formulário!
GOSTEI 0
Marconi
27/08/2003
Na verdade o Refresh faz com que o ´snapshot´ da tabela que só existe na memória da máquina cliente, volte a recuperar os dados do servidor, mas antes disto ele atualiza os registros que já receberam o comando post.
Marconi
Marconi
GOSTEI 0
Marfred
27/08/2003
Valew Marconi !!!
Faltava apenas o comando table.refresh no evento afterpost do ttable!!!
Valew MESMO kra !!! Resolvido meu problema !
Faltava apenas o comando table.refresh no evento afterpost do ttable!!!
Valew MESMO kra !!! Resolvido meu problema !
GOSTEI 0