title: How to fix error "Named Pipes Provider, error: 40 - Could not open a connection to SQL Server"
body: <p>So I'm trying to make a simple C# console app that simply queries a database - nothing more.</p>
  
  <p>However, I keep getting this error:</p>
  
  <blockquote>
    <p>An unhandled exception of type
    'System.Data.SqlClient.SqlException'
    occurred in System.Data.dll</p>
    
    <p>Additional information: 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: Named Pipes
    Provider, error: 40 - Could not open a
    connection to SQL Server)</p>
  </blockquote>
  
  <p>Now, I've tried EVERYTHING! I've edited all my settings(added firewall exception, enabled TCP/IP, just about any solution you can find with a google search, I did). When I try to make a connection using SQL Management Studio using the same credentials that are in my connection string, everything works PERFECTLY. BUt for some reason, nothing works from Visual Studio.</p>
  
  <p>Here is my Connection String:</p>
  
  <pre><code>&lt;add name="Invoicing"
              connectionString="Data Source=server;Initial Catalog=Invoicing;Persist Security Info=True;ID=id;Password=pw"
              providerName="System.Data.SqlClient" /&gt;
  </code></pre>
  
  <p>Here is app:</p>
  
  <pre><code>class Program
  {
      public static void Main(string[] args) {
  
          Invoicing db = new Invoicing("Invoicing");
  
          var q = from sin Invoice
                  where s.Date == 201007 
                  select s;
  
          foreach(var sin q)
              Console.WriteLine("{0}, {1}", s.CreateDate,
                                s.EndDate);
  
  
          }
      }
  </code></pre>
  
  <p>Here is my stack trace:</p>
  
  <pre><code>   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
     at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
     at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
     at System.Data.SqlClient.SqlConnection.Open()
     at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
     at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()
     at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()
     at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.GetQueryText(Expression query)
     at System.Data.Linq.DataQuery`1.ToString()
  </code></pre>
  
  <p>I created the DataContext using SqlMetal, if that matters.</p>
  
  <p>Also, I am using .Net 2008 and SQL 2008.</p>
  
  <p>Does anyone have any ideas on what to do?</p>