locked
Access em REde RRS feed

  • Pergunta

  •  

    Há alguns dias escrevi um post sobre um erro "3051 O Microsoft Jet não pôde abrir o arquivo. Já está aberto por outro usuário para uso
    exclusivo ou não existe permissão para visualizar os dados" no acesso de cinco máquinas a uma mesma base de dados. Fiz alguns procedimentos, como compartilhar todas as maquinas, copiar e banco de dados para outro arquivo de renomear. Achei até que tinha resolvido, mas voltou a acontecer. Será que alguém conhece alguma solução para isto, ou alguma idéia de como resolver?

    Valeu!

     

    segunda-feira, 22 de setembro de 2008 20:16

Todas as Respostas

  • Olá Gilberto,

     

    Seja bem-vindo!

     

    Esse tipo de erro é comum... Infelizmente o Access não funciona muito bem em rede.

     

    O que eu já fiz há muitos anos e resolveu, foi criar DOIS arquivos MDB: Um para guardar somente os dados, e outro para guardar os formulários, relatórios, etc...

     

    O arquivo que guarda os formulários acessa os dados do outro MDB via tabelas ligadas (Linked Tables), e os usuários nunca abrem o MDB que tem os dados... Abrem apenas o MDB que tem os formulários. De preferência, o MDB com os formulários fica na máquina de cada usuário, e apenas o MDB que tem os dados fica na rede.

     

    Lembro que, assim, consegui remediar o problema até eles desenvolverem uma solução melhor.

     

    --

     

    Uma solução que na época eu não tinha, mas que hoje já é possível (e melhor), é utilizar os mesmos passos que descrevi acima, mas ao invés de guardar os dados em um MDB separado, guardar os dados em um banco de dados mais confiável, utilizando, por exemplo, o SQL Server Express, que é gratuito e permite armazenar até 4 GB de dados Wink

     

    Abraços,

    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    segunda-feira, 22 de setembro de 2008 20:29
  •  

    Caro Gilberto,

     

             Esse erro 3051 é típico de corrompimento do banco, que dependem de algumas váriáveis, podemos começar pela forma de compartilhamento dos dados, se vc atribui permissãos via arquivo ou via pasta do arquivo de dados, sendo esta segunda a mais recomendável, ou seja, atribuir permissões a pasta/diretório compartilhada, as outras variáveis podem ser seu sistema operacional(winxx, xp, 2000), a versão do access(8.0, 9.0, x.x), o seu servidor de rede(server 2003).  

            

             Vc usa a divisão dos arquivos?

             Qual seu SO? Qual a versão do access?

     

            Tenho como sugestão atualizar os Services Packs nas estações e reveja o compartilhamento.

     

    Cleverson

    segunda-feira, 22 de setembro de 2008 21:50
  • Não uso divisão de arquivos. A pasta em que esta o arquivo de dados é compartilhada na rede. Atualizei o arquivo mdb

    para o access 2003, já compactei e reparei o banco de dados. Todas as maquinas são novas com o windows xp. Com

    quatro maquinas funciona perfeitamente, se conecto mais uma dá este erro. O banco de dados é pequeno, apenas

    10MB. Alguma idéia??

     

    Grato!

     

    segunda-feira, 22 de setembro de 2008 22:04
  • vc poderia começar pela divisão do arquivo, através do assistente do access e testar, é bem simples, em seguida deixe o arquivo com os dados em uma pasta compartilhada do servidor, depois caso sua aplicação não faça a vinculação das tabelas via código, use também o gerenciador de tabelas vinculado em cada estação.

    Aqui no trabalho, o servidor de rede é win 2000, nas estações têm 98 e XP, 07 usam o access 2000 e uma o 2007, todas acessam simultaneamente, nem sempre esse pico é constante, na média são 04. Aplicação está em ACCESS 2000 USO HÁ MAIS DE QUATRO ANOS, algumas vezes tive problemas com corrompimento mas devido a queda de tensão elétrica ou uso indevido de usuários. qualquer dúvida manda aí, posso tentar ajudar.

     

    Cleverson

    terça-feira, 23 de setembro de 2008 14:41