none
Erro de rede ou específico à instância ao estabelecer conexão com o SQL Server. (URGENTE) RRS feed

  • Pergunta

  • Estou utilizando banco de dados MySQL e, quando tento executar minha aplicação através do IIS (e.g. localhost/MyApp), está retornando o seguinte erro:

    SqlException (0x80131904): Erro de rede ou específico à instância ao estabelecer conexão com o SQL Server. O servidor não foi encontrado ou não estava acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir conexões remotas. (provider: SQL Network Interfaces, error: 26 - Erro ao Localizar Servidor/Instância Especificada.

    O mais estranho é ele estar reconhecendo como SQL Server e não MySQL. Alguma configuração que eu tenha esquecido?

    terça-feira, 9 de setembro de 2014 20:25

Todas as Respostas

  • Olá Luiz,

     como você abre sua conexão ? Sua connectionstring fica em algum arquivo como App Config ou WebConfig ? Poste esses arquivos e como e onde conecta em seu codigo !

    terça-feira, 9 de setembro de 2014 22:33
  • Olá Daniel,

    O Web.config está abaixo:

    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <!--<configSections>
        For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
      </configSections>-->
      <connectionStrings>
        <!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-framework_beta-41fa7724-fe24-4117-8fda-819e34f1b711;AttachDbFilename=|DataDirectory|\aspnet-framework_beta-41fa7724-fe24-4117-8fda-819e34f1b711.mdf;Integrated Security=true" providerName="System.Data.SqlClient" />-->
        <!--<add name="DefaultConnection" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient"/>-->
        <!--<add name="strConexao" connectionString="Database=db_framework_beta;Data Source=localhost;User Id=root;Password=root;pooling=false" providerName="MySql.Data.MySqlClient"/>-->
      </connectionStrings>
      <system.data>
        <DbProviderFactories>
          <clear />
          <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.1.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
      </system.data>
      <system.web>
        <compilation debug="true" targetFramework="4.5"/>
        <httpRuntime targetFramework="4.5"/>
        <pages>
          <namespaces>
            <add namespace="System.Web.Optimization"/>
            <add namespace="Microsoft.AspNet.Identity"/>
          </namespaces>
          <controls>
            <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
          </controls>
        </pages>
        <membership>
          <providers>
            <!--
            ASP.NET Membership is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template
            -->
            <clear/>
          </providers>
        </membership>
        <profile>
          <providers>
            <!--
            ASP.NET Membership Profile is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template
            -->
            <clear/>
          </providers>
        </profile>
        <roleManager>
          <!--
              ASP.NET Membership Role is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template
            -->
          <providers>
            <clear/>
          </providers>
        </roleManager>
        <!--
                If you are deploying to a cloud environment that has multiple web server instances,
                you should change session state mode from "InProc" to "Custom". In addition,
                change the connection string named "DefaultConnection" to connect to an instance
                of SQL Server (including SQL Azure and SQL  Compact) instead of to SQL Server Express.
          -->
        <sessionState mode="InProc" customProvider="DefaultSessionProvider">
          <providers>
            <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
          </providers>
        </sessionState>
      </system.web>
      <appSettings>
        <add key="strConexao" value="Database=db_framework_beta;Data Source=localhost;User Id=root;Password=root;pooling=false"/>
      </appSettings>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
      <!--<entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="v11.0"/>
          </parameters>
        </defaultConnectionFactory>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
        </providers>
        <providers>
          <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity" />
        </providers>
      </entityFramework>-->
    </configuration>

    A maneira que faço a conexão é pelo AppSettings:

    //Retorna uma conexao com oo BD Aberta
            public static IDbConnection Connection(conexao conn)
            {
                MySqlConnection obj=null;
                switch (conn)
                {
                    case conexao.ServerExplorer:
                        obj = new MySqlConnection(ConfigurationManager.ConnectionStrings["frameworkBeta"].ConnectionString);
                        break;
                    case conexao.AppSettings:
                        obj = new MySqlConnection(ConfigurationManager.AppSettings["strConexao"]);  /**/
                        break;
                    default:
                        break;
                }
                
                obj.Open();
                return obj;
            }

    terça-feira, 9 de setembro de 2014 23:01
  • uma pergunta, por que a section connectionStrings está comentada? Me parece que se você descomentar, irá funcionar. Uma boa dica é criar um arquivo .udl para testar a string de conexão.

    <configuration>
      <configSections>
          <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
      </configSections>
      <connectionStrings>
        <add name="strConexao" connectionString="Database=db_framework_beta;Data Source=localhost;User Id=root;Password=root;pooling=false" providerName="MySql.Data.MySqlClient"/>
      </connectionStrings>
     </configuration>

    Dica como utilizar o arquivo .udl:

    http://www.macoratti.net/d190102.htm

    http://support.microsoft.com/kb/189680/pt-br



    Thiago Custodio | Software Engineer
    Blog
    Twitter
    Faça parte da Comunidade Windows Azure Brasil no Facebook

    quarta-feira, 10 de setembro de 2014 14:03
  • Thiago, boa tarde.

    Realizei as modificações solicitadas e continuo obtendo o mesmo erro.

    É como se a aplicação não estivesse reconhecendo o MySQL e "acolhendo" o SQL Server por default.

    Veja abaixo como ficou meu web.config:

    <?xml version="1.0"?>
    <configuration>
      <connectionStrings>
        <add name="frameworkBeta" connectionString="Data Source=189.110.12.194;Initial Catalog=db_framework_beta;Persist Security Info=True;User ID=root;Password=root" providerName="MySql.Data.MySqlClient"/>
      </connectionStrings>
      <system.data>
        <DbProviderFactories>
          <clear />
          <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, PublicKeyToken=c5687fc88969c44d" />
        </DbProviderFactories>
      </system.data>
      <system.web>
        <compilation debug="true" targetFramework="4.5"/>
        <httpRuntime targetFramework="4.5"/>
        <pages>
          <namespaces>
            <add namespace="System.Web.Optimization"/>
            <add namespace="Microsoft.AspNet.Identity"/>
          </namespaces>
          <controls>
            <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
          </controls>
        </pages>
        <membership>
          <providers>
            <clear/>
          </providers>
        </membership>
        <profile>
          <providers>
            <clear/>
          </providers>
        </profile>
        <roleManager>
          <providers>
            <clear/>
          </providers>
        </roleManager>
        <sessionState mode="InProc" customProvider="DefaultSessionProvider">
          <providers>
            <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
          </providers>
        </sessionState>
      </system.web>
      <appSettings>
        <add key="strConexao" value="Database=db_framework_beta;Data Source=localhost;User Id=root;Password=root;pooling=false"/>
      </appSettings>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

    quarta-feira, 10 de setembro de 2014 16:40