BANCO DE DADOS EM REDE
Bom dia,
estou sofrendo um pouco para utilizar um banco de dados access em dois pc[ô]s em rede.
A intenção é fazer ordens de serviço, onde o pc principal grava no banco de dados o pedido e o pc da oficina visualiza na tela a modificação do banco de dados com todos os serviços a realizar, e também grava os dados no banco de dados referente à situação do serviço.
estou usando um exemplo do Marcoratti - http://www.macoratti.net/acc_comp.htm
mas acontece que não estou conseguindo conectar ao banco.
Seria o caso de utilizar o winsock para conectar as máquinas?
Agora to meio perdido.
Obrigado.
estou sofrendo um pouco para utilizar um banco de dados access em dois pc[ô]s em rede.
A intenção é fazer ordens de serviço, onde o pc principal grava no banco de dados o pedido e o pc da oficina visualiza na tela a modificação do banco de dados com todos os serviços a realizar, e também grava os dados no banco de dados referente à situação do serviço.
estou usando um exemplo do Marcoratti - http://www.macoratti.net/acc_comp.htm
mas acontece que não estou conseguindo conectar ao banco.
Seria o caso de utilizar o winsock para conectar as máquinas?
Agora to meio perdido.
Obrigado.
Uma observação, quando o programa acessa o arquivo config.ini não encontra o caminho [Ô]x:\bdd.mdb[Ô] que está na máquina principal. O banco de dados só está presente na máquina principal.
Obrigado mais uma vez.
Obrigado mais uma vez.
No caso, você pode criar uma pasta compartilhada na máquina onde irá ficar o banco de dados, e as demais máquinas irão se conectar nela pela rede (como você compartilha uma impressora, por exemplo).
Uma dúvida, quantas pessoas irão usar o sistema no horário de pico?
Uma dúvida, quantas pessoas irão usar o sistema no horário de pico?
Oi NETMANIA, obrigado por responder.
No máximo 1 pessoa na máquina principal enviando as ordens de serviço e 2 pessoas na máquina da oficina atualizando com a situação do serviço.
Vou fazer aqui e posto em seguida.
Obrigado.
No máximo 1 pessoa na máquina principal enviando as ordens de serviço e 2 pessoas na máquina da oficina atualizando com a situação do serviço.
Vou fazer aqui e posto em seguida.
Obrigado.
Você pode configurar a conexão do banco com App.patch, neste caso ele pode ficar em qualquer pasta junto com o executável do programa.
para usar em rede neste caso tem que compartilhar a pasta onde esta o banco e criar um atalho para o arquivo executável.
Esta é apenas uma das maneiras bem simples que funciona sem problemas algum.
para usar em rede neste caso tem que compartilhar a pasta onde esta o banco e criar um atalho para o arquivo executável.
Esta é apenas uma das maneiras bem simples que funciona sem problemas algum.
ABLACKPIC,
Os amigos acima estão certos, mas é preciso que vc entenda a logica da coisa.
Como vc chama um arquivo via rede ?
Se vc compartilhar uma pasta na maquina, vamos dizer [Ô]SERVIDOR[Ô].
Uma pasta com o compartilhamento chamado [Ô]SISTEMA[Ô], e dentro dela estiver seu banco.mdb
Então vc chamaria assim.
\
omedamaquina\compartilhamento\arquivo.mdb:
Ficaria assim no exemplo:
\\SERVIDOR\SISTEMA\banco.mdb
Agora se vc ainda não esta familiarizado com maquinas em rede e como se comunica com elas, saiba
que esse quesito é fundamental.
Os amigos acima estão certos, mas é preciso que vc entenda a logica da coisa.
Como vc chama um arquivo via rede ?
Se vc compartilhar uma pasta na maquina, vamos dizer [Ô]SERVIDOR[Ô].
Uma pasta com o compartilhamento chamado [Ô]SISTEMA[Ô], e dentro dela estiver seu banco.mdb
Então vc chamaria assim.
\
omedamaquina\compartilhamento\arquivo.mdb:
Ficaria assim no exemplo:
\\SERVIDOR\SISTEMA\banco.mdb
Agora se vc ainda não esta familiarizado com maquinas em rede e como se comunica com elas, saiba
que esse quesito é fundamental.
Olá, o access é um pouco lento ara trabalhar em rede, mas funciona!
No entanto você pode criar um compartilhamento de rede em cada computador para acessar o servidor!
a leitura do arquivo .ini é bom que seja em um lugar padrão para todas as maquinas! Ex.
no servidor você colocou sua aplicação e todos os arquivos que a mesma utiliza só que o arquivo .ini ficaria em uma pasta comum para todos os computadores que tem o windows tipo C:\windows\conBanco.ini ai na leitura do arquivo você faria passando o caminho fixo e não utilizando o app.path, pois o mesmo identifica o caminho que esta o executável.
Isso torna-se um tratamento melhor até porque o compartilhamento de cada maquina pode não ser o mesmo para todos os computadores.
Espero ter sido claro, caso não entendeu me pergunte que te explico!
No entanto você pode criar um compartilhamento de rede em cada computador para acessar o servidor!
a leitura do arquivo .ini é bom que seja em um lugar padrão para todas as maquinas! Ex.
no servidor você colocou sua aplicação e todos os arquivos que a mesma utiliza só que o arquivo .ini ficaria em uma pasta comum para todos os computadores que tem o windows tipo C:\windows\conBanco.ini ai na leitura do arquivo você faria passando o caminho fixo e não utilizando o app.path, pois o mesmo identifica o caminho que esta o executável.
Isso torna-se um tratamento melhor até porque o compartilhamento de cada maquina pode não ser o mesmo para todos os computadores.
Espero ter sido claro, caso não entendeu me pergunte que te explico!
Agradeço a ajuda de todos, nunca havia trabalhado com uma aplicação desse modelo.
Não sei dizer ainda o resultado porque estou tendo problemas em uma rede winxp e win7.
Obrigado a todos por enquanto.
Não sei dizer ainda o resultado porque estou tendo problemas em uma rede winxp e win7.
Obrigado a todos por enquanto.
Bom, segui as orientações dos colegas, compartilhando a pasta no servidor onde se encontra o [Ô]bd.mdb[Ô].
no servidor o arquivo config.ini ficou dessa forma:
[Geral]
Caminho=c:\banco\bdd.mdb
Na máquina cliente o arquivo config.ini ficou dessa forma:
[Geral]
Caminho=\\pc1\banco\bdd.mdb
mas o vb6 na máquina cliente apresenta erro ao tentar abrir o banco de dados:
[Ô]Run-time error [ô]3050[ô][Ô]
[Ô]couldn[ô]t lock file[Ô]
O que vocês acham que pode estar acontecendo?
Obrigado.
no servidor o arquivo config.ini ficou dessa forma:
[Geral]
Caminho=c:\banco\bdd.mdb
Na máquina cliente o arquivo config.ini ficou dessa forma:
[Geral]
Caminho=\\pc1\banco\bdd.mdb
mas o vb6 na máquina cliente apresenta erro ao tentar abrir o banco de dados:
[Ô]Run-time error [ô]3050[ô][Ô]
[Ô]couldn[ô]t lock file[Ô]
O que vocês acham que pode estar acontecendo?
Obrigado.
O Compartilhamento esta no XP ou no Win7 ?
Deu permissão de ler e gravar no compartilhamento ?
Faz o seguinte teste:
No executar digite \\pc1\banco\bdd.mdb
Se abrir o banco, tente editar um registro direto no access mesmo.
Deu permissão de ler e gravar no compartilhamento ?
Faz o seguinte teste:
No executar digite \\pc1\banco\bdd.mdb
Se abrir o banco, tente editar um registro direto no access mesmo.
Oi Nilson,
na verdade já tinha tentado fazer isso que você disse , só que através do visual data manager, que também apresentou esse mesmo erro. O banco de dados foi criado nele anteriormente.
Todas as permissões estão habilitadas no compartilhamento que se encontra no win7.
O interessante é que na máquina1 (servidor) onde está o banco de dados eu consigo abrir e alterar.
fiz um teste criando um banco no access 2010 e compartilhei na rede, a surpresa é que consegui abri-lo nas duas máquinas ao mesmo tempo, porém não consigo editar enquanto as duas máquinas estiverem usando ele, o que eu já esperava.
estive pesquisando e tá dificil achar a solução pra isso.
Obrigado por ter respondido.
na verdade já tinha tentado fazer isso que você disse , só que através do visual data manager, que também apresentou esse mesmo erro. O banco de dados foi criado nele anteriormente.
Todas as permissões estão habilitadas no compartilhamento que se encontra no win7.
O interessante é que na máquina1 (servidor) onde está o banco de dados eu consigo abrir e alterar.
fiz um teste criando um banco no access 2010 e compartilhei na rede, a surpresa é que consegui abri-lo nas duas máquinas ao mesmo tempo, porém não consigo editar enquanto as duas máquinas estiverem usando ele, o que eu já esperava.
estive pesquisando e tá dificil achar a solução pra isso.
Obrigado por ter respondido.
Tópico encerrado , respostas não são mais permitidas