Array
(
)

Configurar app config para funcionar em rede

Ricielli Lopes
   - 07 dez 2010

bom dia.   estou fazendo uma aplicação windows form com c#, e preciso colocar o sistema para funcionar em rede,  sei que no delphi quando voiu colocar o sistema em rede , basta colocar o caminho de rede do banco que esta no servidor, mas no caso do c# , no app config  eu nao tenho o endereço completo do banco. No app config tem a opção data souce que informa o nome da maquina \sqlexpress, tentei colocar \\ ante do nome do computador para testar mas tambem nao da certo.  Preciso de ajuda.   Grato.

Fabio Rosa
   - 07 dez 2010

Olá Ricelli,

Na App.Config, em DataSource coloque no lugar de ".\SQLExpress", o endereço de IP da máquina onde o SQL está instalado. A opção .\SQLExpress é utilizada somente quando o SQL está instalado na máquina local.

Ricielli Lopes
   - 07 dez 2010

fiz o que vc falou mas inda esta dando erro quando executo.   meu app config estava da seguinte maneira:   <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="ModelContainer" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQLEXPRESS;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>   depoi alterei com vc disse para o ip da maquina e ficou da seguinte maneira:   <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="ModelContainer" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=10.0.0.25;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>   estou utilizando o entity  para acesso a dados e a mensagem que aparece quando eu executo alguma terefa na aplicação e a seguinte:   The underlying provider failed on Open.   grato.

Valter Vinicius
   - 08 dez 2010

Bom dia, Caro você já verificou se o SQL SERVER instalado na máquina está habilitado para rodar em rede?
Tive este mesmo problema em um dos meus sistemas e resolvi habilitando o firewall e habilitando algumas configurações de rede do sql server.

Filipe Lemos
   - 08 dez 2010

Caro Ricielli,
passei pelo mesmo problema que você. No meu caso estou usando a versão Express do SQL Server 2008 R2. O que acontece é que quando se instala algumas versões do SQL Server, há uma configuração em que a transferência de informações via TCP/IP vem desabilitada.
É necessário habilitar o TCP/IP e permitir o acesso à porta do SQL Server no Firewall. Dê uma pesquisada na Internet sobre o assunto.
Ao habilitar o TCP/IP e a porta na máquina servidora, consegui acessar os dados em rede.
Outra coisa também: você colocou apenas o IP da máquina no Data Source. Tem que colocar também o nome da instância do SQL Server (no seu caso, SQLEXPRESS), ficando da seguinte maneira: "Endereço IP\Nome da Instância".
Espero ter ajudado!!!
 

André Andrade
   - 08 dez 2010

Pelo que estou vendo ai o problema e autenticação pois no app config esta setado para Integrated Security ou seja ele autentica com o seu usuario local do windows. Se vc tirar a integrated e colocar por exemplo o user sa e a senha creio que ira funcionar. Claro que tambem o que o pessoal falou e valido verifique se o sql esta habilitado para funcionar via TCP/IP pois por padrao o express vem com pipes nomeados funcionando.

Ricielli Lopes
   - 09 dez 2010

ja coloquei o ip e liberei o sql server para funcionar em rede , mas ainda sim no terminal que vai acessar  o sistema da erro.  Para colocar o usuario e senha no app config como ficaria a estrutura? obs: estou usando a autenticação do windows, nao criei um usuario e senha especifica para o banco.   grato.

Netasper
   - 09 dez 2010

Distribui a aplicação nas máquinas clientes e aponta a base de dados para um servidor!