GARANTIR DESCONTO

Fórum Configurar BDE para Paradox em rede #289348

25/07/2005

0

Oi gente,

estou com o seguinte problema: Tenho um sistema Delphi 7 com bd Paradox 7.
Em rede estão o servidor + outras 4 máquinas.
Intalei o BDE em todas elas e a configuração em todas foi:

- Local Share = true;
- NET Dir (no servidor) = c:\Arquivos de Programas\Projeto * caminho do arquivo PDOXUSRS.NET
- Path do álias (no servidor) = c:\Arquivos de Programas\Projeto\Dados
- NET Dir (nas estações) = S:\ * onde S é a letra correspondente ao mapeamento do c:\Arquivos de Programas\Projeto do servidor.
- Path do álias (nas estações) = S:\Dados

Além disso os atalhos do executável do sistema nas estações, estão todos apontados pra o arquivo EXE que está no c:\Arquivos de Programas\Projeto do servidor.

O que acontece é que somente duas máquinas ficam com o programa aberto ao mesmo tempo. O engraçado é que isso acontece de forma aleatória, ou seja, não são sempre as mesmas duas máquinas que ficam com o programa aberto. A combinação de máquinas com o programa aberto pode ser qualquer uma. Ao abrir o programa em uma terceira máquina, dá erro.

Tem alguma coisa errada? Algum parâmetro falta ser configurado?

Os outros parâmetros que tem no BDE como:
LangDriver
BlockSize
Fill Factor
Level
StrictIntegrty

são importantes? O que configuro em cada um deles?
Já aproveitando, gostaria de falar também sobre outro problema que é o de conseguir atualizar minhas tabelas no mesmo momento em que elas forem alteradas fazendo com que todos os usuários consigam enxergar todas as alterações realizadas por outros usuários.
Bom, ao pesquisar no fórum, vi a sugestão do Aroldo Zanela sobre criar uma tabela de estado atualizada por uma trigger cada vez que houvesse alteraçào em uma tabela e através de um timer, disparar um SQL com refresh das tabelas que sofreram alterações.
Se alguém tb viu e entendeu direitinho, pode me dizer como faço isso? Já tentei fazendo da seguinte maneira:
Coloquei um timer no meu DataModule. Como não sei trabalhar com triggers, programei para cada evento AfterPost das minhas tabelas gravar na ´TabeladeEstado´ o nome da tabela que sofreu alteração.
A cada segundo, no evento ontimer programei para ler a tabela de estado e dar um Refresh naquela que teve alteração.

Pena que nada acontece. Só fechando e abrindo o programa é que as alterações aparecem. Alguém pode me explicar com mais detalhes como programar esta lógica direitinho?

Obrigada desde já pela atenção!

Abraços


Michelle

Michelle

Responder

Posts

28/07/2005

Cadugarcia

Olá Michelle.
Primeiro a configuração do Local share deve ser TRUE no servidor e FALSE nas estações.
Depois localize, em todas as máquinas, os arquivos PDOXUSRS.NET e PDOXUSRS.LCK e apague-os. Assim que o programa rodar eles serão recriados automaticamente.
Quanto à atualização sem fechar a aplicação, faça o seguinte:
Adicione no evento AfterPost de cada Table coloque o comando DbiSaveChanges(<nome do objeto table>.Handle), e declare na Uses a unit DbiProcs. A atualização será automática. Vc pode garantir o sucesso acrescentando um Refresh nas tabelas, ok?
Um Abraço.

Eduardo.


Responder

Gostei + 0

28/07/2005

Michelle

Olá Michelle. Primeiro a configuração do Local share deve ser TRUE no servidor e FALSE nas estações. Depois localize, em todas as máquinas, os arquivos PDOXUSRS.NET e PDOXUSRS.LCK e apague-os. Assim que o programa rodar eles serão recriados automaticamente. Quanto à atualização sem fechar a aplicação, faça o seguinte: Adicione no evento AfterPost de cada Table coloque o comando DbiSaveChanges(<nome do objeto table>.Handle), e declare na Uses a unit DbiProcs. A atualização será automática. Vc pode garantir o sucesso acrescentando um Refresh nas tabelas, ok? Um Abraço. Eduardo.


Valeu pela atenção Cadu, vou tentar e depois te falo se consegui ok!?

Bjo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar