Ho un SQL Server Express 2008 installato su una delle mie macchine e sto tentando di stabilire una connessione remota ... quando utilizzo MS SQL Server Management Studio posso accedere al database senza problemi a tutti (con le stesse credenziali), ma quando cerco di creare una stringa di connessione nella mia applicazione C# ottengo un'eccezione:C# 2008 Stringa di connessione SQL Server Express
Si è verificato un errore specifico di istanza relativo alla rete o mentre stabilisce una connessione a SQL Server. Il server non è stato trovato o non era accessibile. Verificare che il nome dell'istanza sia corretto e che SQL Server sia configurato per consentire connessioni remote .
Ecco ciò che la mia stringa di connessione sembra (l'informazione privata è cambiata):
"Data Source="MACHINENAME\\SQLEXPRESS";User ID="Admin";Password="the_password";Initial Catalog="MyDatabase";Integrated Security=True;Connect Timeout=120");
Come ho detto, posso entrare utilizzando il Management Studio con le stesse impostazioni: stesso utente id , password e nome dell'origine dati, ma non riesce quando tento di aprire una connessione con la stringa di connessione sopra.
Nota:
Ho attivato la connettività remota sul server, disabilitato il Firewall connessione, TCP abilitato/IP al server, acceso il Browser SQL.
La stringa di connessione funziona correttamente quando sono sulla stessa macchina.
Ho cercato l'opzione di sicurezza integrata e l'ho impostato su falso solo per assicurarsi che non stia tentando di utilizzare l'accesso di Windows, ma non riesce ancora.
Il database è configurato per consentire l'accesso a Windows e l'accesso al database.
Cambiando l'opzione di sicurezza integrata su SSPI, True e infine False, tutti e 3 mi hanno dato lo stesso errore di sopra.
Qualcuno può dirmi se sto facendo qualcosa di sbagliato?
UPDATE, ecco il mio codice esatto (questa volta solo la password viene rimossa, e ho aggiunto una foto di studio di gestione in esecuzione sulla stessa macchina):
string _connectionString =
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Connect Timeout=120", // Same problem
//string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Integrated Security=False;Connect Timeout=120", // Same problem
string.Format("Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Integrated Security=False;Connect Timeout=120", // Same problem
"GANTCHEVI\\SQLEXPRESS",
"FinchAdmin",
"the_password",
"Finch");
http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg
ho capito:
Quando si utilizza ° L'etichetta "Data Source =" dovrebbe usare "User Id", se usi User ID non sembra che funzioni!
string _connectionString = "Data Source=GANTCHEVI\\SQLEXPRESS;Initial Catalog=Finch;Integrated Security=False;User Id=FinchAdmin;Password=the_password;Connect Timeout=0";"
+1 bella spiegazione. – Praveen