Jump to content

Conexão a Servidor remoto


D3POD
 Share

Recommended Posts

Bom dia, tenho um programa o qual funciona perfeitamente na LAN da empresa. Tenho vários "postos" e um servidor.

Recentemente a empresa abriu um departamento técnico e preciso que também esse local tenha acesso à base de dados para que registem as reparações.

Gostava de saber, perante a experiencia que cada um tem, qual a melhor forma de fazer este tipo de ligação, tendo em conta que a internet aqui é muito instável e lenta.

Já li alguns exemplos, onde posso ter um servidor web com sqlserver e fazer tudo para esse servidor, mas isso iria causar problemas quando a internet falha-se.

Uma das soluções que me parece razoável é a utilização do servidor apenas como ponte... ou seja, teria a base de dados local no espaço1 e desta iria atualizar a base de dados que está no webserver, caso exista internet. No espaço2 (que é o departamento) não importa que a base de dados esteja sempre disponível... o importante é que quando haja internet então que possa registar alterações.

Existe alguma outra forma mais funcional?

O que me aconselham? Algum exemplo?

Cumprimentos,

D3POD

Link to comment
Share on other sites

Porque não fazes as queries diretamente ao servidor SQL?

Tem atenção as portas de entradas e saídas configuradas na firewall da maquina onde está o SQL instalado (terão que ser abertas), bem como no router (fazer o redireccionamento de uma porta para o ip da maquina). Terás que configurar no SQL Server Configuration Manager a porta correspondente.

No SQL Server Management Studio terás de permitir a DB ter ligações remotas, autenticação mista e configurar um utilizador/password para os acessos de fora.

Apos estes passos não terás problema em conectar em qualquer parte (LAN ou Internet) à tua base de dados com uma aplicação em C#.NET.

O seguinte código dá-te a forma de conexão à base de dados (funciona para LAN ou Internet):

 public string StringConexao
 get
 {	
	 return @"data source=" + IP + "," + Porta + @"\" + Instancia + "; Initial Catalog=" + NomeDB + "; MultipleActiveResultSets=True; persist security info=False; UID=" + Username + "; PWD=" + Password + ";";
 }
Link to comment
Share on other sites

Boas, realmente é uma excelente ideia que ainda nao me tinha passado pelo cabeça e ate calha bem porque como tenho videovigilância com acesso remoto tenho a situação do ip resolvido.

Eu ja andava a estudar uma forma de sempre que abria a aplicação no local A, fazer uma verificação ao servidor web para ver qual o id do ultimo registo e caso nao fosse igual ao da base de dados local, entao inserir os dados. Estava a complicar me a parte como é que depois ia passar os dados todos visto que alguns dos dados são '0' e '1'.

Obrigado pela ajuda... um feliz natal a todos

Link to comment
Share on other sites

Um à parte para além do C#, é necessária a utilização de uma VPN ? Ou tens possibilidade de criar isso mesmo no servidor ou num servidor que possa receber ligação e que seja como estivessem no mesmo edifício que tu ? Depois disso poderias pensar em C#.

Abraço e bom ano

Link to comment
Share on other sites

Pois, ainda nao me dediquei a esta parte... meteu se a altura das festas e tenho um outro projeto que precisei de lhe dar mais atencao.

Nao tenho problemas em criar um vpn, pois sera criada uma nos proximos dias, mas tem algum beneficio ou contra?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.