Ir para conteúdo

POWERED BY:

Arquivado

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

_ P A K O _

String de Conexão Access

Recommended Posts

Bem galera, o que acontece é o seguinte:

 

Tenho um acesso ao banco de dados access da seguinte forma:

 

sub abre_access_testeSet db_access_teste= Server.CreateObject("ADODB.Connection")conex_access_teste= "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\\caminho\banco.mdb"On Error Resume nextif db_access_teste.state = 0 thendb_access_teste.open conex_access_testeend ifif err thenresponse.write "<font class='alerta'>" &"O Banco de Dados Banco.mdb está aberto para outro usuário."&"</font>"response.endend ifend subsub fecha_access_testedb_access_teste.closeset db_access_teste= nothingend sub

Porém, se tal banco estiver aberto em qualquer outra máquina, o sistema não consegue ler o access. Como se o banco estivesse alocado com exclusividade para tal usuário que o abriu.

 

Como faço para permitir que o banco seja lido mesmo se estiver sendo usado em outra máquina ?

 

Já tentei:

db_access_teste.mode = adModeShareDenyNonedb_access_teste.mode = adShareDenyRead + adModeRecursivedb_access_teste.mode = 3

 

No aguardo de uma ajuda.

 

 

P@KO

Compartilhar este post


Link para o post
Compartilhar em outros sites

como access não é um SGDB e sim um arquivo você deve dar permissões de leitura,alteração e gravação a pasta e ao arquivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

como access não é um SGDB e sim um arquivo você deve dar permissões de leitura,alteração e gravação a pasta e ao arquivo

Bem Jonathan, A Hierarquia a qual este meu banco access está é a seguinte : Intranet/dados/banco.mdb Te pergunto: Tenho que dar acesso na pasta Intranet também ou só em Dados ? Já dei acesso total a pasta dados e ao banco.mdb, porém continua dando o mesmo erro. Será que existe outra solução ?Abraço,P@KO

Compartilhar este post


Link para o post
Compartilhar em outros sites

a pasta ou arquivo não está compartilhada para monousuário?dê uma olhada nesse link, tem uma parte sobre permissõeshttp://www.webmundi.net/forum/forum_posts.asp?TID=421

Jonathan. O erro que dá é o seguinte: ADODB.Connection error '800a0e78' Operation is not allowed when the object is closed. Tudo está com permissão .Não sei mais o que pode ser.AbraçoP@kO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Não entendi esta string:

conex_access_teste= "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\\caminho\banco.mdb"

 

 

Que caminho é este?

DATA SOURCE=\\caminho\banco.mdb"

 

Não seria:

Intranet/dados/banco.mdb

 

Se eu estiver falando besteira desconsidere!

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Não entendi esta string:

conex_access_teste= "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\\caminho\banco.mdb"

 

 

Que caminho é este?

DATA SOURCE=\\caminho\banco.mdb"

 

Não seria:

Intranet/dados/banco.mdb

 

Se eu estiver falando besteira desconsidere!

 

t+

Jothaz,

 

O string citada acima, está correta... É que para eu não colocar o caminho todo, eu exemplifiquei colocando como caminho. O acesso ao Banco Access está funcionando normalmente. O problema todo é quando uma pessoa abre o banco access numa determinada máquina, pois eu não consigo mais acessar qualquer tabela deste banco até que a pessoa feche o banco.

 

Abraço.

 

P@KO

Compartilhar este post


Link para o post
Compartilhar em outros sites

if err thenresponse.write "<font class='alerta'>" &"O Banco de Dados Banco.mdb está aberto para outro usuário."&"</font>"response.endend ifesse lance aí você tá usando pra que? Já tentou comentar esta condição?

Compartilhar este post


Link para o post
Compartilhar em outros sites

if err thenresponse.write "<font class='alerta'>" &"O Banco de Dados Banco.mdb está aberto para outro usuário."&"</font>"response.endend ifesse lance aí você tá usando pra que? Já tentou comentar esta condição?

Estou usando esse comando para dar uma mensagem quando o banco estiver aberto em uma outra máquina, porém mesmo com o código acima comentado, dá esse erro. Será que saberia me informar pq o asp não consegue acessar uma tabela que esteja no access quando ela está aberta por algum usuário ?Obrigado.P@KO

Compartilhar este post


Link para o post
Compartilhar em outros sites

até onde sei esse problema de não acessar mais de um usuário é permissão pois db access não é Sgdb e sim um arquivo, o windows reconhece ele como arquivo e como qualquer outro se está sendo usado por um usuário outro não pode executar, a menos que as permissões sejam atribuidas a todos os usuários

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.