none
Problema conexao RRS feed

  • Pergunta

  • Ola pessoal estou com um problema em algumas aplicacoes que algumas vezes durante o dia perdem conexao, porem monitoramos varias coisas no banco e nao encotramos nada, acredito que a requisicao nao esteja nem chegando no banco, abaixo segue um log (ATENCAO ELE ESTA DE BAIXO PRA CIMA) que a aplicacao gera...o estranho é que a base é SQL server 2008 R2 e nao 2005 como mostra o erro.

    XXXXXXXXX.Tools.LocalLogger           rss=12398592 thr=5 id=0000000f @@ DATABASE ERROR: Ocorreu um erro ao estabelecer uma conexão com o servidor. Ao conectar ao SQL Server 2005, essa falha pode ser causada porque, dentro das configurações padrão, o SQL Server não permite conexões remotas. (provider: Provedor de Pipes Nomeados, error: 40 - Não foi possível abrir uma conexão com o SQL Server)[   em System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

       em System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

       em System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)

       em System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)

       em System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)

       em System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

       em System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

       em System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

       em System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

       em System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

       em System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

       em System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

       em System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

       em System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

       em System.Data.SqlClient.SqlConnection.Open()

       em XXXXXXXXX.DataHandlerLayer.SqlDataHandler.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms)

       em XXXXXXXXX.DataHandlerLayer.SqlDataHandler.ExecuteNonQuery(String connString, CommandType cmdType, String cmdText, SqlParameter[] cmdParms)

       em XXXXXXXXX.DataHandlerLayer.QueryBuilderClass.ExecuteNonReader(String cmdText, CommandType cmdType)

       em XXXXXXXXX.DataHandlerLayer.QueryBuilderClass.ExecuteInsert()

       em XXXXXXXXX.Time.Data.EventTable.InsertItem(Int32 p_Id_Machine, Int32 p_Cd_Type, DateTime p_Dt_Start)

       em XXXXXXXXX.Time.Module.TimeClass.SaveDB(TimeItem _item)];XXXXXXXXX


    viniciuseroico

    terça-feira, 27 de novembro de 2012 16:24

Respostas

  • Rapaz, o erro diz que o seu sql não está configurado para acessar remotamente. Você só conseguirá acessar o sql pela aplicação se ele estiver configurado corretamente.

    Você não deve ter problemas em configurar isto. basta procurar no google sobre o assunto pra achar bastante coisa. A configuração básica pra aceitar acesso remoto é esta:

    Clique com o botão direito sobre o nó da conexão no sql server. Então clique em "Proprerties". Na aba "Connections" habilite "Allow remote connections to this server".

    Se isso não bastar, procure no google artigos com o passo a passo.

    Abraço!

    terça-feira, 27 de novembro de 2012 17:56

Todas as Respostas

  • Você está englobando sua conexão dentro de um "using"?

    terça-feira, 27 de novembro de 2012 16:31
  • Na verdade nao sei te dizer ao certo, pois nao fiz a programacao, mas pelo que vi no codigo é uma string de conexao comum

    viniciuseroico

    terça-feira, 27 de novembro de 2012 16:57
  • Sempre que for utilizar sua conexão faça assim:

    using (SqlConnection con = new SqlConnection("sua string de conexao"))

    {

        con.open();

        // processamento restante...

    }

    Dessa forma, você estará garantindo que sua conexão fechará depois do processamento.

    terça-feira, 27 de novembro de 2012 17:06
  • Certo mas nesse erro ao que entendemos ocorre antes da aplicacao comunicar com o banco...nao eh?

    viniciuseroico

    terça-feira, 27 de novembro de 2012 17:19
  • Rapaz, o erro diz que o seu sql não está configurado para acessar remotamente. Você só conseguirá acessar o sql pela aplicação se ele estiver configurado corretamente.

    Você não deve ter problemas em configurar isto. basta procurar no google sobre o assunto pra achar bastante coisa. A configuração básica pra aceitar acesso remoto é esta:

    Clique com o botão direito sobre o nó da conexão no sql server. Então clique em "Proprerties". Na aba "Connections" habilite "Allow remote connections to this server".

    Se isso não bastar, procure no google artigos com o passo a passo.

    Abraço!

    terça-feira, 27 de novembro de 2012 17:56
  • Poste um ex do code

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

    sexta-feira, 30 de novembro de 2012 11:03
    Moderador
  • o que pode estar acontecendo é o limite de conexões sendo estouradas, ai o sql rejeita novas conexões dando o erro similar ao que voe esta tendo.

    tente monitorar os usuários conectados no SQL Server e procure por algum limite de conexões.

    sexta-feira, 30 de novembro de 2012 11:24