2012-09-17 9 views
14

Questo è strano poiché sono in grado di connettersi a localDB tramite SSMS 2008R2 con il stessa stringa di connessione ("Data Source=(LocalDB)\v11.0;Integrated Security=true")Impossibile connettersi a localDB in VS2012 - "Si è verificato un errore relativo alla rete o specifico dell'istanza durante la connessione a SQL Server ..."

Solo C# codice è in grado di connettersi, ho provato aumentando il tempo di login con Connect Timeout=60 ma senza fortuna.

Ho anche provato a specificare il database Initial Catalog=&lt;databasename&gt; dove il nome del database < > è quello che ho creato su localdb tramite ssms.

Qualsiasi indicazione sul motivo per cui questo non si collega?

+0

Prima collegare il database tramite sever explorer in VS. Dopo il successo della connessione, fare clic con il pulsante destro del mouse e trovare la proprietà. Lì otterrai la stringa di connessione. Basta copiarlo e incollarlo nel web.config. –

+0

@Kundan L'ho fatto ma ha lanciato lo stesso errore. Server explorer è stato connesso correttamente, quindi ho copiato la stringa di connessione dalle proprietà come accennato, ma la mia app non è riuscita ancora a connettersi utilizzando la stessa stringa. –

+0

Puoi semplicemente incollare la stringa di connessione? –

risposta

33

Qualche possibilità è perché hai dimenticato di scappare doppiamente dal backslash? Hai provato questo:

"Data Source=(LocalDB)\\v11.0;Integrated Security=true"

O meglio ancora, si potrebbe utilizzare il marchio @ per disabilitare carattere fuga per tutta la stringa di connessione:

@"Data Source=(LocalDB)\v11.0;Integrated Security=true"

+0

Ah, questo è davvero il trucco. Perché richiede il doppio \\? davvero strano .. Grazie! ha funzionato. –

+1

sembra che sia un personaggio speciale! –

+5

Esattamente! Senza la doppia escape, '\ v' è considerato un carattere singolo (e speciale). Potresti anche usare '@' (in C#) per evitare di sfuggire a qualsiasi cosa, avevo aggiornato la mia risposta per rispecchiarlo. –