Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MuRiLo_GeO

Erro ao acessar BD em Rede

Recommended Posts

Galera to com probleminha.......

 

Fiz um programa que gera alguns dados e joga na rede para outros usuários pegarem esses dados levarem para sua máquina e trabalhar......

 

o BD é em access

 

Fiz os teste com meu usuário e tudo deu certo.

 

porem quando as outras pessoas tentaum acessar o access fala que o arquivo já foi aberto em modo exclusivo por outro usuário, e naum tem ninguem acessando o BD.

 

E se eu abrir manualmente o BD ele abre falando que está somente no modo leitura, mas eu consigo copiar os dados.

 

O que eu quero é abrir o BD via código somente como leitura......

 

é assim que eu faço:

 

Dim DB as DAO.Database

Dim RS as DAO.Recordset

 

Set DB = OpenDatabase("\\lab03-05\Murilo\Murilo.mdb")

Set RS = DB.OpenRecordset("TB_DADOS")

..

..

..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia.

 

Murilo, a melhor maneira de se trabalhar com o access via rede é sem dúvida por mapeamento de unidade. Aqui onde trabalho usamos dessa maneira.

 

Temos um servidor que tem os arquivos localmente, nas máquinas temos um script que mapeia a pasta onde está o banco de dados no servidor nas maquinas. Todas as maquinas enxergam esse mapeamento com a letra G:\

 

Então no meu sistema abro o banco pelo mapeamento

 

set db = OpenDatabase("G:\meubd.mdb")
dessa maneira como se encontra ele abre em modo leitura e gravação.

 

Apesar da maneira de como você está fazendo tambéms ser correta, acho melhor tentar isso.

 

Flws.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo Mendes,

 

Aqui na empresa tbm existe esse mapeamento de rede, ao fazer o login é executado o script que mapeia 3 unidades, porem a empresa possue outras sedes em outras cidades.

 

E estas sedes algumas não tem acesso a tais unidades, e tem um compartilhamento temporário para todos os usuários, em qualquer lugar. E quando coloco lá ele fica em modo leitura e não tenho acesso as permissões de usuários.Então tenho que procurar uma outra forma de fazer isso..

 

 

Alguma coisa por exemplo no código, abrindo via código e somente leitura....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mergulhando no tópico (peço até desculpas), mas Murilo, você pode fazer sim o mapeamento via código

...

na verdade via código, você vai chamar uma instrução salva em um arquivo do tipo .bat que irá mapear a unidade.

>passo a passo:

 

 

1- A unidade que será acessada deverá estar compartilhada

 

2-Abra o bloco de notas e insira essas linhas de comando (lembre-se de fazer a referência certa de acordo com o endereço da unidade que você quer acessar)

 

@echo off
net use x: \\servidor\c
daí você salva o arquivo com a extensão .bat, no caso eu usei como exemplo, salvar o arquivo com o nome mapear.bat no disco local (c:)

 

3- No VB, em qualquer procedimento, no Load do seu form principal por exemplo você chama esse arquivo de lotes (.bat)

 

Private Sub form_Load()

Shell "c:/mapear.bat" 

End sub

 

Pronto! Quando você abrir o formulário a unidade será mapeada e a referência ao banco de dados vai funcionar...

http://forum.imasters.com.br/public/style_emoticons/default/grin.gif qualquer dúvida posta ai

 

Att Rafael Lemes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ae..

 

Pelo que entendi você precisa que redes diferentes acessem o mesmo banco de dados Access certo? E você que fazer isso via Internet certo? se for só isso é possível, mas recomendaria que usasse a ferramenta DAO e suas opções para replicação de banco. Antes que passe como fazer, me responda se é isso mesmo.

 

O que o Rafael falou esta absolutamente certo.

 

Paulo Mendes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae galera agradeço a vocês por estarem me ajudando, MÁS......

 

Vcs naum estão me entendendo, ou entaum naum me expressei corretamente, eu naum irei precisar mapear a unidade.

 

Eu logado com o meu usuário estou conseguindo jogar os dados na rede, e com o meu usuário tbm, eu consigo buscar os dados na rede.

 

Acontece que na rede o usuário que coloca o arquivo so ele (ou um administrador) pode excluí-lo, algum outro usuário que tente abrir o arquivo so abre em modo de leitura.

 

E tenho que colocar os dados para todos os usuário que forem trabalhar com ele, poderem acessá-lo.

 

Porem, quando faço com que outro usuário busque os dados via código, ele não abre....Fala que um outro usuário já abriu o arquivo em modo exclusivo.

 

Se eu for manualmente o arquivo abre, mas me da uma mensagem falando que o bando esta semente leitura.

 

e via código naum consigo....

 

O que eu quero é alguma forma com que eu consiga exibir os dados em forma de somente leitura.

 

Tem alguma forma de fazer isso????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum... Uma questão importante...

Em qual o SGBD que o banco de Dados está funcionando?

Caso seja ACCESS, acho que ele não tem suporte multi-usuário

Posta ai http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Mas para o caso que você quer, sobre somente leitura, vou dar uma pesquisada se eu descobrir algo eu posto XD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo assim...

 

Se eu colocar em outra unidade da rede funciona....

 

mas nem todos os locais onde tem uma agencia da empresa tem acesso a essa unidade da rede na INTRANET.

 

O access tem opção de multi-usuários sim ....

 

Mas não esta dando certo pelo fato das questões de segurança.

 

E to pesquisando para fazer com que o access acesse somente como leitura esse BD

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.