none
Problema com Asp.net e SQLExpress2008 RRS feed

  • Pergunta

  • Bom dia turma, belê!

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

    O erro acima ocorre apenas ao executar no servidor onde está publicado a aplicação win server 2008, mas nessa máquina eu consigo acessar o banco de dados normalmente pelo managament studio.

    Nas aplicação estou acessando via Authentication=Forms na maquina de desenvolvimento tudo funciona perfeitamente estou utilizando o VS 2010.

    Desde já agradeço




    Adriano_SP

    segunda-feira, 17 de dezembro de 2012 11:05

Respostas

Todas as Respostas

  • Olá Adriano, pode ser problema na sua connectionString. poderia verificar a mesma?
    segunda-feira, 17 de dezembro de 2012 12:39
    Moderador
  • Welington, Belê !

    Minha conexão string para esse servidor está asim :

    <connectionStrings>
        <connectionStrings>
        <add name="ApplicationServices" connectionString="data source=xxx\SQLEXPRESS2008;user id=sa;password=xxx;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
        <add name="BancoEntities" connectionString="metadata=res://*/Banco.csdl|res://*/Banco.ssdl|res://*/Banco.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SERVIDOR\SQLEXPRESS2008;initial catalog=banco;user id=sa;password=xxx;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
        <add name="Banco" connectionString="Data Source=xxx\SQLEXPRESS2008; Initial Catalog=banco;user id=sa;password=xxx" providerName="System.Data.SqlClient"/>
        <add name="ConexaoPadrao" connectionString="Data Source=xxx\SQLEXPRESS2008; Initial Catalog=Banco; user id=sa;password=xxx" providerName="System.Data.SqlClient"/>
      </connectionStrings>

    Localmente funciona direitinho apenas na publicação no servidor que não funciona corretamente devido erro na conexão.

    Abs


    Adriano_SP

    segunda-feira, 17 de dezembro de 2012 12:52
  • Você utiliza todas?
    segunda-feira, 17 de dezembro de 2012 12:59
    Moderador
  • Exceto a 1º foi o VS que adicionou em algum momento.

    Att,


    Adriano_SP

    segunda-feira, 17 de dezembro de 2012 13:12
  • Olha se funciona agora.

    <connectionStrings>
        <add name="BancoEntities" 
             connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=banco;user id=sa;password=xxx;"
             providerName="System.Data.EntityClient"/>
        <add name="Banco" 
             connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=banco;user id=sa;password=xxx" 
             providerName="System.Data.SqlClient"/>
        <add name="ConexaoPadrao" 
             connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=Banco; user id=sa;password=xxx" 
             providerName="System.Data.SqlClient"/>
    </connectionStrings>

    mais connectionString

    http://www.connectionstrings.com/sql-server-2008

    att.

    segunda-feira, 17 de dezembro de 2012 13:36
    Moderador
  • Welington....

    Fiz a alteração que vc citou acima e também não funcionou...

    Depois de varias alterações e tentativas agora estou com a seguinte mensagem:

    Cannot open database "myBanco" requested by the login. The login failed.
    Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.

    Deixei dessa forma a conexão string

    <add name="Banco" connectionString="Data Source=SERVIDORqualquer\SQLExpress2008; Initial Catalog=myBanco; Trusted_Connection=True;" providerName="System.Data.SqlClient"/>

    Agradeço pela ajuda.. pois to começando a ficar preocupado e pensando em refazer o sistema com outro banco de dados.... :-(


    Adriano_SP

    segunda-feira, 17 de dezembro de 2012 23:33
  • Aparentemente você está utilizando autenticação SQL SERVER. O erro acima é de Login em momento algum você passou ele na connectionString. Considerando que você tem um usuário com permissão para acessar a base de dados. Viu as connectionstring que te passei?

    segunda-feira, 17 de dezembro de 2012 23:54
    Moderador
  • Opa...

    Vi sim não funciona nem a pau.... O mais estranho é que na minha máquina local eu tb tenho um sql express 2008 e funciona direitinho...

    copiei a string de conexão da maquian  local e deixei no servidor e apenas alterei de:  Adriano-pc\SqlExpress2008 para Servidor\SqlExpress2008

    E não rola nem a pau.....

    Tú tens mais alguma idéia Welington... e desde já agradeço...


    Adriano_SP

    terça-feira, 18 de dezembro de 2012 00:06
  • Olha este artigo

    http://aspboss.blogspot.com.br/2012/07/login-failed-for-user-nt.html

    dever ter alguma coisa diferente na sua maquina e no servidor.

    O servidor WEB e banco é a mesma maquina né.


    terça-feira, 18 de dezembro de 2012 00:16
    Moderador
  • OPa...

    Sim é a mesma máquina... estarei lendo o blog

    Apenas para teste criei uma outra aplicação com uma página web e coloquei o seguinte código de acesso como vi em alguns sites sugerindo isso :

    string connn = @"Provider=SQLNCLI10;Server=Servidor\SQLExpress2008;Database=myBanco;
    Trusted_Connection=yes;";
    
                SqlConnection con = new SqlConnection(connn);
    
                try
                {
                    con.Open();
                    SqlCommand cmd = new SqlCommand("Select * from table", con);
                    SqlDataReader dr = cmd.ExecuteReader();
    
                    GridView1.DataSource = dr;
                    GridView1.DataBind();
                }
                catch (Exception ex)
                {
                    Response.Write(ex.Message.ToString());
                    throw;
                

    No entanto agora estou retornando o seguinte erro:

    Server Error in '/' Application.
    --------------------------------------------------------------------------------

    Keyword not supported: 'provider'.


    Adriano_SP

    terça-feira, 18 de dezembro de 2012 00:22
  • Meu... punk hein...

    Você já conectou esse banco no vs? Tipo vai lá no server explorer, cria a conexão com a base... depois olha as propriedades da conexão, na propriedade (dã... rsrs) connection string e vê se está igual... pode ter algum pequeno problema na connstring.

    Vale tentar tudo pra por o sistema em prod ehehehe...

    Ps.: Não desista do SQL rsrs...

    terça-feira, 18 de dezembro de 2012 19:04
  • Blz Rubens...

    Então, o que ocorre é isso na minha máquina de desenvolvimento funciona perfeitamente mas quando gero a publicação e gero no servidor e altero a string de conexão que está no webconfig não funciona, entretanto eu consigo abrir o SQLExpress2008 seja usando a autenticação do windows ou usando o usuário sa do sql.

    Realmente estou sem idéia do que fazer procurei bastante na internet e até o momento tudo que encontrei já fiz e até o momento ainda nada....

    Caso alguém tiver mais alguma sugestão eu agradeço pela ajuda.

    Abs


    Adriano_SP

    quarta-feira, 19 de dezembro de 2012 11:51
  • Olá turma....

    Ainda tô enrolado com esse assunto.... Eu queria saber o seguinte, a connection string abaixo funciona 100% no SQLExpress2005 (aqui no trabalho)  :

    <add name="Banco" connectionString="server=.\SQL;database=Northwind;user=sa;Password=z" providerName="System.Data.SqlClient"/>

    Essa mesma connection teria que funcionar também no SQLExpress2008 ou existe uma especifica para conectar no SQLExpress2008 usando em um Windows 2008 Server.

    Agradeço pelo esclarecimentos .....

    Um Abraço,


    Adriano_SP

    quinta-feira, 20 de dezembro de 2012 13:06
  • Adriano,

    <add name="Banco" connectionString="server=.\SQLEXPRESS;Database=Northwind;
    User id=sa;Password=z" 
    providerName="System.Data.SqlClient"/>
    Só coloquei a instancia do SQL SERVER olha se funciona


    sexta-feira, 21 de dezembro de 2012 11:53
    Moderador
  • Olá Welington, 

    A connectionstring informada por você não está examente igual a minha? Exceto pelo fato do nome da instância?

    Só consigo testar e verificar se funcionu perfeitamente quando chegar em casa, depois te avise, ok.

    Mas ainda não achei a diferença a string informada por vc  e a minha que está logo abaixo: 

    <add name="Banco" connectionString="server=.\SQL;database=Northwind;user=sa;Password=z" providerName="System.Data.SqlClient"/>

    Abs


    Adriano_SP

    sexta-feira, 21 de dezembro de 2012 15:25
  • Adriano vc está colocando parametros errados na sua connection por isso vc está tendo esses erros.

    use http://www.connectionstrings.com/


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    quinta-feira, 27 de dezembro de 2012 15:47
    Moderador
  • Seilor, boa tarde.

    Chegando em casa irei acessar e verificar tudo isso novamente, pois já tentei de várias formas e o mais curioso é que na minha máquina funciona 100% apenas eu estou alterando o nome da instância e servidor e atualizando no win 2008 server e não está funcionando ah tb já havia acessado esse site que por sinal é ótimo mas mesmo assim não está funcionando, de qualquer forma irei tentar novamente,  irei rever todos os pontos novamente e nos falamos depois.


    Abs, Adriano_SP

    quinta-feira, 27 de dezembro de 2012 16:12
  • Seilor...

    Realmente tá fod....... essa parada... já olhei centenas de artigos e pequenas dicas que o pessoal postou mas num funciona nem a pau, sempre aparece a mensagem:

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

    Realmente não sei o que pode ser... e olha que já tentei em outras máquina e funciona perfeitamente....

    Caso alguém ai souber de algo a mais que eu possa fazer, me ajude!!

    Obrigado,


    Abs, Adriano_SP

    sexta-feira, 28 de dezembro de 2012 18:28
  • Pessoal.... Bom dia.

    Alguém consegue entender pq dessa mensagem ? Ainda não consegui resolver.

    O problema ocorre apenas ao publicar no servidor com Sql Express2008 e win server 2008

    Deixei no web config dessa forma:
    <connectionStrings>

        <add name="Banco" connectionString="Data Source=.\SQLExpress2008; Initial Catalog=MeuDataBase;user id=sa;password=sa" providerName="System.Data.SqlClient"/>
       </connectionStrings>

    E no codigo deixei assim:

    string bancox = "";
                bancox = ConfigurationManager.ConnectionStrings["Banco"].ConnectionString;
                SqlDataReader dr = null;
                SqlConnection con = new SqlConnection(bancox);

    con.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.Connection = con;
                    cmd.CommandText = "SELECT campo1, campo2 Tb_LOGIN WHERE campo1 = @user and campo2 =@senha";
                    cmd.Parameters.AddWithValue("@user", login);
                    cmd.Parameters.AddWithValue("@senha", System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(senha.ToUpper().Trim(), "SHA1"));

                    dr = cmd.ExecuteReader();

    Como está sendo apresenado o seguinte erro:

    Server Error in '/SIPES' Application.

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

    O que eu fiz para tentar simular foi criar uma aplicação windows form. E no appconfig eu deixei a seguinte string de conexão:

     <connectionStrings>
        <add name="Banco" connectionString="Data Source=.\SQLExpress2008; Initial Catalog=MeuDataBase;user id=sa;password=sa"/>
      </connectionStrings>

    e no codigo eu faço assim:

     string str = ConfigurationManager.ConnectionStrings["Banco"].ConnectionString;

                SqlConnection cn = new SqlConnection(str);

                SqlDataAdapter adp = new SqlDataAdapter();

                adp.SelectCommand = new SqlCommand("Select * from tabelaqualquer", cn);
                cn.Open();
                DataSet ds = new DataSet();
                adp.Fill(ds);

                dataGridView1.DataSource = ds.Tables[0];

    RESUMINDO:
    REalmente não consigo entender qual o problema, tem algo errado?

    Pls me ajude!!

    Abs


    Abs, Adriano_SP

    quinta-feira, 10 de janeiro de 2013 12:38
  • Pessoal deixei como Trusted_connecton=True e agora apareceu a mensagem abaixo, caso alguém tiver alguma idéia como resolver eu agradeço.

    Abs, Adriano_SP

    quinta-feira, 10 de janeiro de 2013 13:00
  • Adriano veja 

    http://www.connectionstrings.com/


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    quarta-feira, 16 de janeiro de 2013 18:02
    Moderador