如何进行故障排除:与服务器成功建立连接,但在登录过程中发生错误

Fra*_*umn 5 c# sql-server-2008 visual-studio uwp

我正在尝试使用我自己的数据库在此演示中创建应用程序.我现在要做的就是显示一个数据表.我使用Visual Studio 2017专业版,并连接到较旧的SQL Server版本10.50.1600.我能够通过SSMS通过Windows身份验证连接到数据库,但是当我尝试连接我的应用程序时,我收到以下错误消息.

已成功与服务器建立连接,但在登录过程中发生错误.(提供者:TCP提供者,错误:0 - 操作成功完成)

  • 我启用了以下功能:企业身份验证,Internet(客户端和服务器),Internet(客户端),专用网络(客户端和服务器)
  • 我将服务器更改为另一个,更新的数据库服务器,并且它工作...所以我认为它可能是我必须更改的数据库服务器上的设置.我不知道怎么知道要改变什么.
  • 我在UWP build 16299下运行,并且非常仔细地遵循了演示中的步骤.我已经重新创建了这个应用程序几次,以确保我没有错过任何步骤.应用程序的其余部分工作正常.

我花了几个小时环顾互联网寻找这个错误的解决方案.这个错误似乎有很多原因,但我还没有看到一个对我有用的解决方案.

我想知道人们是否可以给我提示我可以看到为什么会发生这种情况.我在Autos列表中看不到任何有用的东西,但我会附上它以防万一有些东西跳出来.

我的连接字符串和类在下面.正如我所提到的,它确实连接,但在登录时抱怨某事:

错误消息的屏幕截图

在此输入图像描述 连接字符串

public string ConnectionString { get; set; } = "Server=servername; Trusted_Connection=Yes; Integrated Security=True;";
Run Code Online (Sandbox Code Playgroud)

连接类

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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

ArB*_*rBR 1

尝试使用SQL Server 身份验证而不是Windows 身份验证,这意味着设置Integrated Security=False并在连接字符串中的其他参数中包含用户和密码。

ConnectionString="服务器=tcp:devsqlserverXXXX.database.windows.net,1433;初始目录=XXXX;持久安全信息=False;用户ID=USER_ID_XXXX;密码=pa$$wordXXXX;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=假;连接超时=90;";