Logo Hardware.com.br
Olavo França
Olavo França Ubbergeek Registrado
2.7K Mensagens 556 Curtidas

Como modifico um aplicativo com banco de dados que funciona em PC local, passe a funcionar em rede local ?

#1 Por Olavo França 29/09/2023 - 17:17
Boa tarde companheiros....

Qual a modificação que devo fazer em um aplicativo que está funcionando localmente passe a funcionar em rede local, usando Visual Studio 2022, particularmente em Visual Basic ?
Espero ter sido claro.
Fico aguardando retorno, grato pela atenção de todos.
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#2 Por andremachado
30/09/2023 - 07:52
Vai depender de como esse aplicativo foi escrito e de qual banco de dados foi utilizado. Sem mais informações, fica difícil de responder.

Assumindo que o banco de dados em questão seja um arquivo em disco, o que poderia ser feito é colocar esse arquivo em uma pasta, compartilhar a pasta pela rede (ou mapear a unidade de rede) e refletir essa mudança no código da aplicação.

Já se o banco de dados for um servidor - como MySQL - o que poderia ser feito é instalar esse servidor de banco de dados em um computador específico e colocar as informações desse servidor no código do programa.
PH
PH Cyber Highlander Registrado
61.2K Mensagens 10.6K Curtidas
#4 Por PH
30/09/2023 - 18:04
Olavo França disse:
Boa tarde companheiros....

Qual a modificação que devo fazer em um aplicativo que está funcionando localmente passe a funcionar em rede local, usando Visual Studio 2022, particularmente em Visual Basic ?
Espero ter sido claro.
Fico aguardando retorno, grato pela atenção de todos.


Boa tarde!

Acho pesado usar o Access como servidor de banco de dados, poderia usar o SQL Server Express que é gratuito até banco com 10GB.

Existem muitos vídeos de como configurar o Access para que acessem o banco em rede. Veja se o vídeo abaixo pode te ajudar.



Dou suporte a dois sistemas, um o banco roda no SQL Server Express e o outro no FireBird. Os bancos são carregados nesses clientes e os sistemas são direcionados a conectar nesses bancos.

Anexo do post

Abaixo a configuração do sistema para se conectar o SQL Server.

Anexo do post

Para configurar que todos os computadores consigam se conectar no SQL Server no servidor é preciso configurar portas e a rede TCP/IP pelo SQL Server Configuration Manager

Anexo do post
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#5 Por andremachado
30/09/2023 - 18:30
Olavo,

Favor consultar essas páginas:

Ways to share an Access desktop database - Microsoft Support

VB .NET - Acessando um banco de dados Access (CRUD) (macoratti.net)

Como bem disse o colega PH, e explicado nessas referências que lhe passei, utilizar o Access para um programa em rede até é possível, mas dependendo da quantidade de usuários, o mesmo poderá causar lentidão e, até mesmo, problemas de segurança.

Se mesmo assim quiser continuar com o Access, segue uma sugestão:

Estou assumindo que seu banco de dados se chama dados.mdb e está localizado na mesma pasta do programa. Também assumo que o computador no qual o programa está instalado se chama PC01 na rede. Faça as adaptações necessárias.

Em um computador, crie uma pasta chamada BD na raiz da unidade C:. O caminho da pasta deverá ser C:\BD.

Agora, copie o arquivo de banco de dados dados.mdb para a pasta C:\BD. O caminho completo do arquivo deverá ser C:\BD\dados.mdb.

Em seguida, no Explorer clique com o botão direito na pasta C:\BD e selecione Propriedades. Clique na guia Compartilhamento e no botão Compartilhamento avançado. A tela deverá ser parecida com essa:

Anexo do post

Ao clicar no botão Compartilhamento avançado, você verá a seguinte caixa de diálogo:

Anexo do post

Marque  caixa Compartilhar a pasta e clique em Permissões. Você verá a seguinte janela:

Anexo do post

Apenas como um teste, marque a caixa Controle total relacionado ao usuário Todos e dê OK em todas as caixas abertas.

(Observação: isso é apenas um teste; no futuro, você deve adicionar cada usuário que terá acesso ao banco de dados individualmente para melhorar a segurança).

Agora, apenas para testar, abra o Explorer de qualquer outro computador e digite \\PC01\BD. Você deverá ver a pasta com o seu banco de dados aberta.

Se isso funcionou, abra o código-fonte do seu programa e, na string de conexão do banco de dados, altere o caminho do banco de dados para esse compartilhamento. Você estará procurando algo parecido com isso:

"Provider=Microsoft.Jet.OleDb.4.0; Data Source=dados.mdb"


Que deverá ficar assim:

"Provider=Microsoft.Jet.OleDb.4.0; Data Source=\\PC01\BD\dados.mdb"


Boa sorte.
PH
PH Cyber Highlander Registrado
61.2K Mensagens 10.6K Curtidas
#7 Por PH
04/10/2023 - 09:47
Bom dia!

Foi o que eu disse acima com o SQL Server e o Firebird. O banco vai ser carregado em um cliente como os citados, o sistema ou programa que vai usar em cada máquina, vai se conectar ao servidor, dessa forma, fica mais fácil, pois o backup vai ser feito no servidor (vai de acordo com a rotina que vai configurar). Lembrando que você pode migrar o seu banco do Access para o SQL Server por exemplo.

Quando se diz servidor, é em uma rede local. A maioria que presto suporte tem um computador normal como o Servidor, poucos colocaram realmente hardware de servidor, todos são conectados em uma rede local.
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#10 Por andremachado
05/10/2023 - 08:47
Concordo. Eu também consideraria PostgreSQL, que é open source ou, talvez, até MariaDB, apesar de esse ser um pouco mais pesado, caso houvesse disponibilidade de dedicar uma máquina exclusivamente ao banco.

Mas como o Olavo disse que "não tenho  experiência alguma em programação de banco de dados em rede", sugiro ao mesmo estudar o assunto, evitando assim eventuais falhas de segurança ou, não sendo isso possível, indicar ao cliente um produto pronto ou a contratação de outro profissional.
PH
PH Cyber Highlander Registrado
61.2K Mensagens 10.6K Curtidas
#11 Por PH
05/10/2023 - 09:11
andremachado disse:
Concordo. Eu também consideraria PostgreSQL, que é open source ou, talvez, até MariaDB, apesar de esse ser um pouco mais pesado, caso houvesse disponibilidade de dedicar uma máquina exclusivamente ao banco.

Mas como o Olavo disse que "não tenho  experiência alguma em programação de banco de dados em rede", sugiro ao mesmo estudar o assunto, evitando assim eventuais falhas de segurança ou, não sendo isso possível, indicar ao cliente um produto pronto ou a contratação de outro profissional.


Bom dia!

Sim, pois nada adianta passarmos várias informações e saídas direta se não tiver o conhecimento suficiente para fazer isso e poder decidir qual seria a melhor opção. 

De básico tem clientes + servidor. 

Mais um links sobre esse assunto, antigo mais válido.

Acessando dados do SQl Server com o Visual Basic II (macoratti.net)
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#12 Por andremachado
07/10/2023 - 08:16
E, mesmo assim, ainda não recomendo o SQL Server. A versão Express é gratuita, mas o que muitos deixam passar é que a mesma possui várias limitações. A principal delas é que o tamanho da base de dados não pode exceder 10GB, o que não é um grande problema para uma pequena empresa, mas que pode se tornar numa dor de cabeça com o passar do tempo:

Base estourou o limite de 10GB de tamanho no SQL Express, e agora? (dbaonboarding.com.br)

Por isso, reitero a recomendação de um banco livre ou open source, conforme já mencionado.
PH
PH Cyber Highlander Registrado
61.2K Mensagens 10.6K Curtidas
#13 Por PH
08/10/2023 - 16:36
andremachado disse:
E, mesmo assim, ainda não recomendo o SQL Server. A versão Express é gratuita, mas o que muitos deixam passar é que a mesma possui várias limitações. A principal delas é que o tamanho da base de dados não pode exceder 10GB, o que não é um grande problema para uma pequena empresa, mas que pode se tornar numa dor de cabeça com o passar do tempo:

Base estourou o limite de 10GB de tamanho no SQL Express, e agora? (dbaonboarding.com.br)

Por isso, reitero a recomendação de um banco livre ou open source, conforme já mencionado.


Boa tarde!

Uso SQL Servers express. desde os primórdios do banco de dados, a limitação de 10GB não é problema algum, até porque, para atingir 10 GB, demoraria muito tempo. Um dos clientes que dou suporte tem o banco desde 2015, tem 1,5GB e a quantidade de informações é enorme! Uma empresa de grande porte caso use o SQL, paga por ele. Fora que é muita irresponsabilidade alguém que administra  banco, deixar a base estourar, seja ela com 10GB ou qualquer outro valor! Existem alertas que a capacidade está chegando no limite. Quem conhece banco de dados sabe que o mesmo pode ser limpo e com isso ganha mais alguns gigas. Respeito a sua não recomendação, mas me parece que não usa o SQL, só se basea por limitações, como os 10GB no qual citou, e qual são as outras? Seria bom expor as limitações, pois o criador do tópico pode usá-las para comparações voltadas ao seu sistema e seus clientes.

Podemos colocar na lista a Oracle, trabalhei em uma empresa de software que usava o Oracle Database 11G Express, ou seja, uma versão gratuita, mas com suporte máximo de banco de 12GB. É muito complicado um cliente pagar tanto por um Oracle, quando um SQL Serve que não são baratos, então esses servidores gratuitos são mais que o suficiente para muitos. Lembrando também que um servidor de banco de dados, engloba a segurança e isso é bem mais que compartilhar a pasta de um banco de dados para todos, isso deixa muito exposto o banco. O banco carregado em um programas desses tem maiores camadas de segurança e, mesmo as versão gratuitas tem atualizações constantes.
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#14 Por andremachado
08/10/2023 - 17:24
PH disse:
andremachado disse: E, mesmo assim, ainda não recomendo o SQL Server. A versão Express é gratuita, mas o que muitos deixam passar é que a mesma possui várias limitações. A principal delas é que o tamanho da base de dados não pode exceder 10GB, o que não é um grande problema para uma pequena empresa, mas que pode se tornar numa dor de cabeça com o passar do tempo:

Base estourou o limite de 10GB de tamanho no SQL Express, e agora? (dbaonboarding.com.br)

Por isso, reitero a recomendação de um banco livre ou open source, conforme já mencionado.

Boa tarde!

Uso SQL Servers express. desde os primórdios do banco de dados, a limitação de 10GB não é problema algum, até porque, para atingir 10 GB, demoraria muito tempo. Um dos clientes que dou suporte tem o banco desde 2015, tem 1,5GB e a quantidade de informações é enorme! Uma empresa de grande porte caso use o SQL, paga por ele. Fora que é muita irresponsabilidade alguém que administra  banco, deixar a base estourar, seja ela com 10GB ou qualquer outro valor! Existem alertas que a capacidade está chegando no limite. Quem conhece banco de dados sabe que o mesmo pode ser limpo e com isso ganha mais alguns gigas. Respeito a sua não recomendação, mas me parece que não usa o SQL, só se basea por limitações, como os 10GB no qual citou, e qual são as outras? Seria bom expor as limitações, pois o criador do tópico pode usá-las para comparações voltadas ao seu sistema e seus clientes.

Podemos colocar na lista a Oracle, trabalhei em uma empresa de software que usava o Oracle Database 11G Express, ou seja, uma versão gratuita, mas com suporte máximo de banco de 12GB. É muito complicado um cliente pagar tanto por um Oracle, quando um SQL Serve que não são baratos, então esses servidores gratuitos são mais que o suficiente para muitos. Lembrando também que um servidor de banco de dados, engloba a segurança e isso é bem mais que compartilhar a pasta de um banco de dados para todos, isso deixa muito exposto o banco. O banco carregado em um programas desses tem maiores camadas de segurança e, mesmo as versão gratuitas tem atualizações constantes.


Boa tarde!

De fato, nunca utilizei o SQL Server. No entanto, qualquer pessoa pode pesquisar por suas limitações. Deixo abaixo uma tabela comparativa retirada do site da Microsoft para apreciação dos foristas;

Anexo do post

Anexos

PH
PH Cyber Highlander Registrado
61.2K Mensagens 10.6K Curtidas
#15 Por PH
09/10/2023 - 05:23
andremachado disse:


Boa tarde!

De fato, nunca utilizei o SQL Server. No entanto, qualquer pessoa pode pesquisar por suas limitações. Deixo abaixo uma tabela comparativa retirada do site da Microsoft para apreciação dos foristas;


Bom dia!

Sim existe limitações, mas nada disso impede o bom funcionamento de um sistema até mesmo para micro empresas. Vejo o SQL Server pago para grandes empresas que tem base de dados bem grandes e usam servidores com capacidade de processamento alto, mas a um grande preço para se pagar por isso. 

 Sabia que a limitação do tamanho máximo do bando de dados é de 2GB!? Pode ser resolvido vinculando tabelas com outra base de dados Access, olha que coisa bonita, base de 2GB interligadas, aumentando mais ainda as dores de cabeça se uma base der problema e estando relacionada com outra. Entende porque não ver o Access sendo usado como bando de dados pela maior parte das pessoas? Lembrando que faz parte de um pacote do Office pago! Por que motivo a Microsoft fez o SQL Server então se tem o poderoso Access como baco de dados?

Não estou aqui querendo medir forças com você em relação a isso, pois mostrou solução do Access em rede e eu do SQL Server. Não fomos informados o nível do programa do colega acima, se o sistema que fez é para cliente pequeno ou grandes empresas, mas ele agora está bem monido de informações somadas por nós dois.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal