2016-01-17 4 views
-1

Visual Studio 2015 et SQL Server Express sont installés sur une machine virtuelle.SQL Server: erreur de canaux nommés

Je reçois l'erreur suivante lorsque je clique sur le bouton d'exécution sur Visual Studio:

An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code

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)

code dans la page:

protected void Page_Load(object sender, EventArgs e) { 
SqlConnection con = new SqlConnection("data source=.; database = Sample2; integrated security=SSPI"); 
SqlCommand cmd = new SqlCommand("Select * from tblemployee", con); con.Open(); 
SqlDataReader rdr = cmd.ExecuteReader(); 
GridView1.DataSource = rdr; 
GridView1.DataBind(); 
con.Close(); 
+2

De toute évidence, la cause de l'erreur est que vous essayez de vous connecter à un serveur SQL qui ne peut pas être atteint. Vous pouvez tester le serveur est accessible en se connectant à SQL Server Management Studio –

+0

S'il vous plaît. Clairement votre question, où obtenir cette erreur? –

+0

@Kilanny: Oui, je peux le connecter en utilisant SQL Management Studio. Visual Studio et SQL sont sur la même machine. – user3186277

Répondre

1

Par défaut, SQL Server express est installé en tant que instance nommée appelée SQLEXPRESS. Donc, à moins que vous avez spécifiquement changé quoi que ce soit lors de l'installation, vous devriez être en mesure de se connecter à l'aide de cette chaîne de connexion:

data source=.\SQLEXPRESS;database=Sample2;integrated security=SSPI" 
+1

Cela fonctionne. Mais il faut deux barres obliques inverses au lieu d'une. Il m'a fallu du temps pour m'entraîner :-) Merci. – user3186277

+1

@ user3186277 Cela provient de l'échappement de la chaîne C#, si vous ajoutez un @ à l'avant de la chaîne, vous pouvez le faire avec une seule barre oblique. Cela s'appelle en utilisant un "[Verbatim String Literal] (https://msdn.microsoft.com/en-us/library/aa691090 (v = vs.71) .aspx)" –