PROGRAMA EM REDE?

PROPAR 08/04/2004 14:27:40
#19466
Ola Amigos eu gostaria de saber como faço pro meu programa rodar em rede mesmo instalando ele em outra maquina ele não acha o banco de dados ele procura no meu comutador ...


Eu gostaria de saber como Faço pra ele rodar em rede....

meu sistema é windows 98..

Obrigado
USUARIO.EXCLUIDOS 08/04/2004 15:34:41
#19485
Resposta escolhida
Para que o aplicativo acesse uma base comum, você tem de gerar uma string de conexão variável (uma variável string), que seja lida e armazenada, por exemplo, no registro do windows ou ainda em um arquivo de texto (tipo ini ou txt mesmo).
A base chama-se "db.mdb", fica no micro "SERVIDOR01", por exemplo, na pasta "DADOS", no drive "F:", que está mapeado na máquina cliente como "\\DATABASES\". A string seria "\\DATABASES\db.mdb", certo?

Ao iniciar a aplicação, carregue a variável desde o registro do windows (ex.: sConexão = getsetting("Aplicação","SeçãoBaseDeDados","Localização")) e verifique se o arquivo está mesmo alí (ex.: If Dir(sConexão) = Empty Then...).
Se a base não for localizada, peça ao usuário que a localize (por meio de um InputBox ou outro meio) e salve a string novamente no registro do windows (ex.: savesetting "Aplicação","SeçãoBaseDeDados","Localização","ResultadoDoInputBox" )

Ou ainda, se estiver utilizando o ADO, pode gerar um ODBC para a base de dados na máquina cliente (onde roda a aplicação) e o sistema fica baseado nesta conexão sempre. Este método tem a "vantagem" de ser mais fácil de manter, no caso de a base ser transferida entre pastas com frequência.
USUARIO.EXCLUIDOS 08/04/2004 16:13:00
#19498
P.S.: Não é recomendável, em nenhuma situação, utilizar um mesmo executável em várias máquinas. Por exemplo, um firewall de terceiros bloquearia a tentativa de utilização; Provoca sobrecarga de tráfego na rede; Se em um dado momento, a conexão com o servidor for perdida, e em seguida reestabelecida, a atualização pode corronper a base de dados, bem como popular com uma série de dados inválidos, e por aí afora.
Tópico encerrado , respostas não são mais permitidas