Fórum Dúvidas no Paradox em Rede #212078

06/02/2004

0

Caros amigos

Meus sistemas trabalham com Paradox em rede Novell. Tudo perfeito.

Tive que instalar um deles em uma rede Windows. Aí tive um problema.

Determino o local onde vai ficar o pdoxusrs.net para todo mundo no mesmo local da rede, mapeio uma letra para todo mundo (´S:´) onde coloco os bancos de dados, em um dos computadores.

Mas para trabalhar com o mesmo banco de dados no próprio computador onde está o banco de dados, mesmo fazendo ´net dir´ extatamente o mesmo, é evidente que na designação ele tem outra letra, por exemplo ´D:\rede\net´. Aí ´dá pau´. O paradox me retorna um erro dizendo que o Pdoxusrs.net é diferente.

Tem alguma maneira de engana-lo ou não podemos trabalhar no micro que tem o banco de dados.

Dispenso respostas que me aconselham a trocar por outros bancos de dados, com cliente x servidor. Isto eu sei que dá certo.

Alguem sabe como contornar este problema no Paradox ???


Marconi


Marconi

Marconi

Responder

Posts

06/02/2004

Vinicius2k

Marconi,
A solução para este problema é criar uma unidade virtual através do comando SUBST do DOS... nosso amigo bacalhau postou aqui um artigo completo sobre, além de resolver este problema, evitar a corrupção e índices decorrentes dele... transcrevo abaixo o tópico.

Espero ter ajudado...

Cá vai o artigo na versão original Evitar indices corrompidos Estimados colegas, antes de mais obrigado pelos vossos mails e pela vossa contribuição no fórum. Descobri-o há uma semana e sinto-me muito mais rico com as vossas sugestões e, sobretudo, pelos pontos de vista com que ´atacam´ os problemas. Sobre a questão dos índices corrompidos há que dizer uma coisa: por causa deles foi parar a um psicólogo, já que tinha 40 empresas dependentes do meu trabalho (sou free lancer) e recebia 40 telefonemas por dia reportando 40 crashs nos dados de aplicações comerciais. A solução que encontrei é simples mas seria bom perceber algumas coisas antes. 1. O Borland Database Engine ---------------------------------- As tabelas Paradox são suportadas por um motor de bases de dados fornecido pela Borland, denominado Borland Database Engine (daqui para a frente BDE). É nesta aplicação que parametrizamos tudo sobre as drivers, bases de dados, lingua utilizada, parâmetros de datas, etc.. No caso das tabelas Paradox, somente alguns parametros é que são cruciais. Se as suas aplicações foram desenvolvidas em Delphi 2 ou anterior vai encontrar um BDE com um visual completamente diferente; no entanto os tais parâmetros cruciais mantêm-se lá. Após abrir o BDE a que parâmetros deveremos prestar atenção? Cá vão: Configuration -> Drivers -> Native -> Paradox - parâmetro NET DIR Configuration -> System -> INIT -> parâmetro LOCAL SHARE São estes dois parâmetros os responsáveis (ou não) pelo corrompimento de indexs. Para os enganarmos (sim, temos de os enganar) o melhor é avançar com um exemplo 2. Exemplo - tabelas Paradox num servidor acedidas por 5 clientes em simultâneo ---------------------------------------------------------------------------------------------- Vamos considerar um servidor chamado ´MEUSERVER´, com tabelas Paradox que estão em, por exemplo, C:\PARADOX\TABELAS (do ponto de vista do servidor, claro!!!). Vamos agora considerar que a pasta ´C:\PARADOX´ foi partilhada, com acesso total por parte dos 5 utilizadores (usuários no Brasil ) Se olharmos do ponto de vista de um computador cliente, as tabelas estarão em ´\\MEUSERVER\PARADOX\TABELAS´. Até aqui nada de novo. Do ponto de vista do BDE, a coisa já requer alguma destreza. O melhor é visualizar a pasta ´PARADOX´ em ´MEUSERVER´ e atribuir-lhe uma unidade lógica através do comando ´Ligar Unidade de Rede´: digamos que todos os clientes atribuíram ao caminho ´\\MEUSERVER\PARADOX´ a unidade ´F:´. Agora as tabelas não estão em ´\\MEUSERVER\PARADOX\TABELAS´, mas sim em ´F:\TABELAS´. Chegou a hora de parametrizar o BDE. 3. Como parametrizar o BDE nos clientes ----------------------------------------------- Na opção NET DIR coloque o valor ´F:\´. Na opção LOCAL SHARE escolha o valor TRUE Os clientes podem agora aceder às tabelas, e os índices corrompidos desapareceram. É óbvio que nem todos os clientes são obrigados a escolhar a drive lógica ´F:´, para ligar a unidade de rede. Só que, uma vez escolhida a letra, esta deverá ser a mesma no BDE. Os seus clientes já estão configurados. Com isto definimos o local onde o BDE irá criar as grandes caches, onde todos poderão ler, escrever e partilhar, tudo isto controlado por essa grande ferramenta da Borland. O parametro LOCAL SHARE é que é o responsável por este desempenho fabuloso! O servidor vai precisar de um pequeno truque. 4. Como parametrizar o BDE no servidor ---------------------------------------------- No meu trabalho diário, verifiquei que os problemas ocorriam quando essas tabelas eram acedidas através do computador servidor. Na realidade o problema está aí. Quando os clientes (e só os clientes) trabalhavam tudo corria bem. Mas bastava o acesso a um registo de uma tabela e estava tudo corrompido. Se eu tivesse a aceder a um registo em simultâneo com um cliente era corrupção na certa. Mas porque não colocar os parâmetros LOCAL SHARE=TRUE e NET DIR=´C:\PARADOX\´? Repare, estimado colega, é isto que a lógica ´manda´. Infelizmente o BDE é um pouco caprichoso e temos de usar o velhinho DOS para aceder às tabelas de qualquer lado da nossa rede. As soluções são: No Windows 95 e 98, edite o ficheiro ´C:\AUTOEXEC.BAT´ e acrescente a linha: ´SUBST F: C:\PARADOX´. Este comando atribui (no servidor) uma unidade lógica à pasta que foi partilhada para todos os clientes. Mais uma vez, não está obrigado a usar a letra ´F:´; no entanto, a que escolher deverá ser a mesma a utilizar no NET DIR do BDE do servidor. O parametro LOCAL SHARE também é true. Nos Windows ME, NT, 2000 e XP crie um batch file, contendo a linha anteriormente descrita e coloque no arranque da máquina ou a executar antes das suas aplicações. O que fizemos foi dizer ao BDE para aceder a ´C:\PARADOX´, não através do caminho local mas através de uma unidade qualquer. Se for através de ´C:´ é impossível. Se for através de outra letra ele é enganado e gosta!!! eheheheheheh 5. Resumindo --------------- - Em todos os BDEs da rede coloque o parametro LOCAL SHARE igual a TRUE. - Coloque o paramatero NET DIR a apontar para o MESMO LOCAL do servidor (com as unidades de rede que lhe apetecer). - O servidor é excepção: se ninguém aceder às tabelas Paradox a partir do servidor, não há problema. Caso contrário defina uma unidade de rede ´a-la-DOS´ e coloque essa letra no parametro ´NET DIR´: Espero ter ajudado. Tenho isto implementado há 3 anos nos meus clientes e os problemas de indexs corrompidos desapareceram. E o Paradox é bem robusto... Abraço do José ´bacalhau´ Viegas



Responder

Gostei + 0

06/02/2004

Marconi

Muito obrigado Vinicius e por extensão ao ´Bacalhau´

Esta é realmente a solução.

Marconi


Responder

Gostei + 0

06/02/2004

Bacalhau

:oops:


Responder

Gostei + 0

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

Aceitar