andremachado
Highlander
Registrado
3.3K Mensagens
2K Curtidas
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.
Olavo França
Ubbergeek
Registrado
2.7K Mensagens
556 Curtidas
Boa tarde companheiros....
Desculpe pela minha ignorância, pois não tenho experiência alguma em programação de banco de dados em rede, mas o arquivo do bd é em access no formato mdb.
Fico aguardando retorno.
PH
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
andremachado
Highlander
Registrado
3.3K Mensagens
2K Curtidas
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:
Ao clicar no botão Compartilhamento avançado, você verá a seguinte caixa de diálogo:
Marque caixa Compartilhar a pasta e clique em Permissões. Você verá a seguinte janela:
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.
Olavo França
Ubbergeek
Registrado
2.7K Mensagens
556 Curtidas
Bom dia companheiros.....
O que desejo é ter um único BD para todos os PCs conectados na rede. Teria que usar um servidor, ou também é possível usar numa rede local ?
Fico aguardando retorno.
Grato pela atenção de todos.
PH
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
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
Highlander
Registrado
3.3K Mensagens
2K Curtidas
Olavo,
fazendo do jeito que eu sugeri, você conseguirá fazer exatamente o que quer, com o banco de dados atual.
Agora, se você acha que não vai conseguir conseguir realizar essa - ou outra - configuração de rede, o melhor a fazer é dizer para o seu cliente adquirir outro programa, já com essa capacidade nativa.
PH
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
andremachado
Highlander
Registrado
3.3K Mensagens
2K Curtidas
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
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
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
Highlander
Registrado
3.3K Mensagens
2K Curtidas
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
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
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
Highlander
Registrado
3.3K Mensagens
2K Curtidas
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;
Anexos
PH
Cyber Highlander
Registrado
61.2K Mensagens
10.6K Curtidas
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.