Array
(
)

Instalar aplicação windows form em rede

Mario Jr
   - 08 set 2015

Boa noite!
Como faço para instalar uma aplicação windows form c# em um cliente e apontar para o servidor onde está o banco de dados "Sql Server 2014"?
Como fica a connectstring?

Randrade
   - 09 set 2015

Mario,
Você irá criar a connectionString da mesma forma. Porém, no local que você adicionar apenas a instância do SQL server, você irá adicionar o nome do servidor, ou IP "\" a instância do SQL Server. O template da connectionString é esse:

#Código

<connectionStrings>
        <add name="{ConnectionName}" 
        connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;" 
        providerName="Oracle.DataAccess.Client"/>
 </connectionStrings>


Traduzindo isso, ficaria assim:

#Código
  <connectionStrings>
    <add name="ConnectionName" connectionString="Data Source=NOMESERVIDOR-OU-IP\INSTANCIA;Initial Catalog=NOMEBANCO;Persist Security Info=True;
    User ID=USUARIO;Password=SENHA;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  </connectionStrings>


Caso você possua uma porta no SQL diferente da padrão, você coloca ela após o servidor, separado por uma " , " (vírgula). Ficando assim:
#Código
  <connectionStrings>
    <add name="ConnectionName" connectionString="Data Source=190.190.200.100,1433;Initial Catalog=NOMEBANCO;Persist Security Info=True;
    User ID=USUARIO;Password=SENHA;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  </connectionStrings>


Caso você não consiga, avise que pode ser alguma configuração em seu SQL.

Mario Jr
   - 09 set 2015

RANDRADE obrigado pela atenção!

tentei com o ip e com o nome da maquina onde está o banco de dados porem ocorre este erro conforme imagem em anexo. Será que tem que habilitar alguma coisa no banco para permitir a conexão com outra maquina?

Agradeço desde já

Clique na imagem para abrir em uma nova janela

Randrade
   - 10 set 2015

Mário, tem sim.
Exite algumas coisas que você pode fazer.

1º: Acesse o banco pelo Management Studio, e verifique se você consegue.
2º: Habilite o Remove Control no SQL Server. Aqui você encontra um tutorial de como fazer isso.
3º: Não é aconselhável, mas apenas para testes, desabilite o Firewall da máquina e tente acessar. Funcionando, você deverá liberar somente a porta do SQL. Mas para testes rápidos, não vejo problema em desabilitar o firewall.

Esses são os erros mais comuns, caso não consiga, avise aí que tentamos outras coisas.

Mario Jr
   - 10 set 2015

Sucesso! Funcionou

1 - Habilitando a o protocolo TCP/IP em SQL Server configuration manager;
2 - Criando uma porta de entrada no Firewall; e
3 - Mencionando na connectionstring o IP, Porta;

Obrigado RANDRADE pela atenção!

Randrade
   - 11 set 2015

Beleza Mario,
Fico feliz que tenha funcionado.