Unten befindet sich meine Verbindungszeichenfolge:
connectionString="metadata=res://*/EDMX.Test.csdl|res://*/EDMX.Test.ssdl|res://*/EDMX.Test.msl;provider=System.Data.SqlClient;provider connection string="Data Source=home_computer;Initial Catalog=db_Test;Persist Security Info=True;User ID=testUser;Password=$1234;MultipleActiveResultSets=True""
Hier ist der Code, bei dem das Programm stecken geblieben ist:
EDMX.TestingEntity context = new EDMX.TestingEntity();
var query = from t in context.User
where t.UserName == _userName
select t;
Nach Ausführung des obigen Codes überprüfte ich die Variable "query" und fand eine Ausnahme
Der zugrunde liegende Anbieter ist bei 'Open' gescheitert.
Ich habe überprüft:
- Die Verbindung zwischen Server und Computer ist normal
- Ich kann mich mit dem Benutzernamen "testUser" und dem Passwort $1234 in die Datenbank einloggen
- Ich habe die Sicherheitseinstellungen in der Datenbank (SQL Server) geprüft, dass die Erlaubnis für testUser erteilt wurde
Warum tritt diese Ausnahme auf? Ich verwende .NET 4.5
Hinzugefügt:
Ich habe es erneut versucht, habe mir die innere Ausnahme angesehen und es war: Ein netzwerkbezogener oder instanzspezifischer Fehler ist aufgetreten, während eine Verbindung mit SQL Server hergestellt wurde. Der Server wurde nicht gefunden oder war nicht zugänglich. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. (Anbieter: Named Pipes Provider, Fehler: 40 - Verbindung mit SQL Server konnte nicht geöffnet werden)
Ich weiß, dass es ein Netzwerkproblem sein könnte, aber ich habe die Firewall des Servers und auch meines Computers ausgeschaltet und es erneut versucht, aber immer noch kein Erfolg..
Gerade habe ich die Verbindungszeichenfolge in ein Programm kopiert, um diese Verbindung zu testen, und sie hat einwandfrei funktioniert.
Ich habe gerade alle Änderungen zurückgesetzt und nochmal getestet und es hat funktioniert