it-swarm.com.de

Fehlerbehebung: Es wurde eine Verbindung mit dem Server erfolgreich hergestellt, aber während des Anmeldeprozesses ist ein Fehler aufgetreten

Ich versuche, die Anwendung in dieser Demo zu erstellen, jedoch mit meiner eigenen Datenbank. Alles, was ich jetzt zu tun versuche, ist eine Datentabelle zu zeigen. Ich verwende Visual Studio 2017 Pro und verbinde mich mit einer älteren SQL Server-Version 10.50.1600. Ich kann mit Windows-Authentifizierung über SSMS eine Verbindung zur Datenbank herstellen, aber wenn ich versuche, mich mit meiner Anwendung zu verbinden, erhalte ich die folgende Fehlermeldung. 

Es wurde eine Verbindung mit dem Server erfolgreich hergestellt, dann eine Fehler während des Anmeldeprozesses. (provider: TCP Provider, Fehler: 0 - Der Vorgang wurde erfolgreich abgeschlossen.)

  • Ich habe die folgenden Funktionen aktiviert: Unternehmensauthentifizierung, Internet (Client und Server), Internet (Client), private Netzwerke (Client und Server)
  • Ich habe den Server in einen anderen, aktuelleren DB-Server geändert, und es hat funktioniert ... also denke ich, dass es eine Einstellung auf dem Datenbankserver sein kann, die ich ändern muss. Ich habe keine Ahnung, was ich ändern soll.
  • Ich arbeite unter UWP-Build 16299 und habe die Schritte in der Demo sehr genau verfolgt. Ich habe diese App ein paar Mal neu erstellt, um sicherzustellen, dass keine Schritte fehlen. Der Rest der App funktioniert gut. 

Ich habe stundenlang im Internet nach einer Lösung für diesen Fehler gesucht. Es gibt viele Gründe, warum dieser Fehler auftreten kann, aber ich habe noch keine Lösung gesehen, die für mich funktioniert hat. 

Ich frage mich, ob die Leute mir Tipps geben können, wo ich nachsehen kann, warum das so ist. Ich kann nichts Nützliches in der Liste der Autos sehen, aber ich füge es bei, falls etwas herausspringt bei anderen. 

Meine Verbindungszeichenfolge und Klasse sind unten. Wie ich schon erwähnt habe, stellt es eine Verbindung her, beschwert sich dann aber beim Login über etwas 

Screenshot der Fehlermeldung

 enter image description here Verbindungszeichenfolge 

public string ConnectionString { get; set; } = "Server=servername; Trusted_Connection=Yes; Integrated Security=True;";

Verbindungsklasse

public ObservableCollection<MyAssignments> GetMyAssignments(string connectionString)
        {
            string GetMyAssignmentsSQLFile = File.ReadAllText(@".\SQL\MyOpenAssignments.sql");

            var myAssignments = new ObservableCollection<MyAssignments>();
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {

                    conn.Open();
                    if (conn.State == System.Data.ConnectionState.Open)
                    {
                        using (SqlCommand cmd = conn.CreateCommand())
                        {
                            cmd.CommandText = GetMyAssignmentsSQLFile;
                            using (SqlDataReader reader = cmd.ExecuteReader())
                            {
                                while (reader.Read())
                                {
                                    var myAssignment = new MyAssignments();

                                    myAssignment.CallID = reader.GetString(0);
                                    myAssignment.RecvdDate = reader.GetString(1);
                                    myAssignment.CallStatus = reader.GetString(2);
                                    myAssignment.Priority = reader.GetString(3);
                                    myAssignment.Classification = reader.GetString(4);
                                    myAssignment.CallDesc = reader.GetString(5);
                                    myAssignment.CloseDesc = reader.GetString(6);
                                    myAssignments.Add(myAssignment);
                                }
                            }
                        }
                    }
                }
                return myAssignments;
            }
            catch (Exception eSql)
            {
                Debug.WriteLine("SQL-Exception: " + eSql.Message);
            }
            return null;
        }
    }
5
Frantumn

Versuchen Sie es mit SQL Server-Authentifizierung anstelle von Windows-Authentifizierung. Dies bedeutet, dass Integrierte Sicherheit = False gesetzt wird. und einschließlich Benutzer und Passwort unter anderen Parametern in Ihrer Verbindungszeichenfolge .

ConnectionString = "Server = tcp: devsqlserverXXXX.database.windows.net, 1433; Initial Catalog = XXXX; Persist-Sicherheitsinformationen = False; Benutzer-ID = USER_ID_XXXX; Kennwort = pa $$ wordXXXX; MultipleActiveResultSets = False; Encrypt = True ; SSL-ServerCertificate = False; Verbindung Timeout = 90; ";

1
ArBR

Könnte es sein, dass Ihr Benutzer Zugriff auf den Datenbankserver hat, aber nicht auf die Datenbank?

1
LosManos

Dieses Problem scheint mit SQL Server 2008 R2 RTM (10.50.1600) und Windows 10 1709 reproduzierbar zu sein. Ich kann das Problem mit SQL Server 2008 R2 SP2 nicht reproduzieren. Ich glaube, dies ist ein Microsoft-Fehler in entweder dem Server und dem Client.

Siehe auch:

Die zweckmäßigste Lösung wäre sicherlich, Ihren SQL Server auf SP3 (oder SP2) zu aktualisieren.

Alternativ können Sie einen aktuelleren SQL Server als Proxy für die Verbindung über Verbindungsserver verwenden. Verwenden Sie alternativ UWP Brokered Components oder eine WCF/REST-Mittelschicht, um die Dinge auf der Clientseite zu vertreten.

0
Mitch