Ich habe eine Datenbank auf einem Hosting-Server, den ich versuche, eine Verbindung herzustellen mit C# SqlConnection
Klasse. Ich kann mich über SQL Server Management Studio mit SQL Server-Authentifizierung ohne Probleme am Server anmelden."Anmeldung fehlgeschlagen für Benutzer ...", wenn ich mich mit C# an meinem Online SQL Server anmelde?
Meine Initiation Code sieht wie folgt aus:
public static string ConnectionString { get; set; }
public Constructor() {
ConnectionString = @"Data source=SQL6002.site4now.net;Initial Catalog=myDatabase;User Id=MyUserName;Password=MyPassword;";
}
wo Datenbanknamen, Benutzernamen und Passwörter mit den richtigen Werten ersetzt werden. Der Verbindungscode sieht folgendermaßen aus:
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
...
}
Dieser Code funktioniert, wenn ich eine lokale DB-Verbindungszeichenfolge verwende. Wenn ich jedoch die Verbindungszeichenfolge oben verwende, erhalte ich den Fehler
Ein Fehler ist aufgetreten. Anmeldung fehlgeschlagen für Benutzer 'IFC \ WINxxxx $'.
Exception: System.Data.SqlClient.SqlException
Stacktracebei System.Data.SqlClient.SqlInternalConnectionTds..ctor (DbConnectionPoolIdentity Identität, etc. etc.
wo x im Benutzer Name sind Zahlen. Dies ist auch nicht der Benutzername, den ich in der Verbindungszeichenfolge verwende.
Ich habe versucht, trusted_connection = true und integrierte Sicherheit = true ohne Erfolg.
Wenn ich mich über SQL Server Management Studio beim Server anmelde und Eigenschaften unter Sicherheit -> Logins -> MyUserName öffne, merke ich, dass das Passwort nicht die gleiche Länge hat wie die, mit der ich mich bei SSMS anmelde. Ich habe keine Erlaubnis, es über SSMS zu ändern, nur über den Host, sicerasp.net.
Alle Eingänge sind sehr willkommen!
Der Fehler sagt Ihnen, dass er denkt, dass der Benutzer 'IFC \\ WINxxxx $' ist, nicht 'MyUserName' wie in Ihrer Verbindungszeichenfolge oben. Das sieht sehr nach einer integrierten Authentifizierung aus (d. H. Windows Auth) und nicht nach einer SQL-Anmeldung. – Yuck
'Trusted_Connection = True;' und 'integrierte Sicherheit = true' - diese sagen dem Server, dass er die Windows-Authentifizierung verwenden soll, was Sie ** nicht wollen, – stuartd
Stuartd: Sie benötigen Windows-Anmeldedaten für die Verbindung zwischen zwei PCs . Die beiden PC müssen sich in derselben Gruppe befinden, um eine Verbindung mit oder ohne SQL herzustellen. Wenn Sie keine Windows-Anmeldedaten verwenden, haben Sie Gastberechtigungen, und Sie müssen dann Gastzugriff auf die Datenbank zulassen. – jdweng