2017-02-16 5 views
5

Verbindung mit SQL Server mit einem SQL-Benutzernamen und einem Kennwort ist überhaupt kein Problem. Diese Szenarien gut funktionieren:Verbindung mit SQL Server mit SqlClient in einer Desktop-Anwendung nicht möglich

  • von C# -Code mit SqlClient in ASP.NET/MVC
  • mit SSMS
  • mit Visual Studio Verbindungseigenschaften Wizard

Zum Beispiel funktioniert dies in ein MVC-Projekt:

new SqlConnection("Server=DB1;Database=testdb;User Id=testuser;Password=testuser1;").Open(); 

Aber Dieser identische Code schlägt fehl, wenn er in einem Desktopanwendungsprojekt ausgeführt wird. Es bewirkt, dass die folgenden inneren Ausnahmefehler:

user name or password is incorrect

(ja, es ist ein Raum zwischen Benutzer und Namen)

Ich habe versucht:

  • sicherstellen, dass die Protokolle sind direkt in SQL Config Manager.
  • Öffnen von Ports in der Firewall auf Client und Server.
  • Verbindung zu einer anderen Datenbank, um zu sehen, ob es die Datenbank und nicht der Client ist.
  • die NuGet-Version von SqlClient.
  • Neustart des Dev-Computers und des Servers.
  • sichergestellt, dass der Browser SQL-Dienst ausgeführt wird.
  • sichergestellt, dass der SQL-Hauptdienst auf automatisch gesetzt ist und ausgeführt wird.
  • SqlClient, OLEDB und ODBC zusammen mit entsprechenden Verbindungszeichenfolgen.
  • Speichern des Benutzernamens und des Kennworts in einem separaten Berechtigungsnachweisobjekt.
  • Angeben von Integrated Security = False in der Verbindungszeichenfolge

aber noch nichts.

Warum kann ich von allem außer aus Code, der in einer Desktopanwendung läuft, eine Verbindung mit SQL Server herstellen? Ist etwas auf dem Weg, mein Passwort zu entfernen, bevor die Verbindung zustande kommt?

+1

Wo wird die Desktopanwendung ausgeführt? Kannst du ssms von diesem Rechner ausführen? –

+0

Das ist wirklich komisch. Können Sie versuchen, einen Profiler anzulegen und [Informationen zum fehlgeschlagenen Audit-Login-Ereignis] (https://msdn.microsoft.com/en-us/library/ms187862 (v = sql.110) .aspx) zu überprüfen? – Alexei

+0

Eine Sache, die ich sehen könnte (wahrscheinlich nicht das Problem, aber ...) ist: Haben Sie einen SQL Server auf Ihrem Desktop installiert (von dem Sie die App ausführen), und wenn ja, ist es möglich, dass es zu verwechseln wäre die Namen und versuchen, eine Verbindung zu Ihrem lokalen SQL-Server anstelle des dedizierten Servers herzustellen? –

Antwort

0

Lassen Sie uns versuchen:

data source=DB1;initial catalog=testdb;persist security info=True;user id=testuser;password=testuser1; 

Benutzer muss ein SQL-Benutzer sein.

Verwandte Themen