Configurar app config para funcionar em rede
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.
Ricielli Lopes
Curtidas 0
Respostas
Fabio Rosa
07/12/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.
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.
GOSTEI 0
Ricielli Lopes
07/12/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="Data Source=.\SQLEXPRESS;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True"" 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="Data Source=10.0.0.25;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True"" 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.
<configuration>
<connectionStrings>
<add name="ModelContainer" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True"" 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="Data Source=10.0.0.25;Initial Catalog=FILA;Integrated Security=True;Pooling=False;MultipleActiveResultSets=True"" 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.
GOSTEI 0
Valter Vinicius
07/12/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.
Tive este mesmo problema em um dos meus sistemas e resolvi habilitando o firewall e habilitando algumas configurações de rede do sql server.
GOSTEI 0
Filipe Silva
07/12/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!!!
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!!!
GOSTEI 0
André Andrade
07/12/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.
GOSTEI 0
Ricielli Lopes
07/12/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.
GOSTEI 0
Netasper
07/12/2010
Distribui a aplicação nas máquinas clientes e aponta a base de dados para um servidor!
GOSTEI 0