C# SQL Server登录失败,windows身份验证Wpf失败
我正在制作一个带有登录屏幕的WPF应用程序,您可以登录到SQL server。我有一个可以通过服务器身份验证登录的帐户,但当我想通过Windows身份验证的帐户登录时,它不起作用。该帐户可以使用SSMS应用程序登录,但不能使用我的应用程序登录,而具有服务器身份验证的帐户可以通过应用程序登录C# SQL Server登录失败,windows身份验证Wpf失败,c#,sql-server,wpf,C#,Sql Server,Wpf,我正在制作一个带有登录屏幕的WPF应用程序,您可以登录到SQL server。我有一个可以通过服务器身份验证登录的帐户,但当我想通过Windows身份验证的帐户登录时,它不起作用。该帐户可以使用SSMS应用程序登录,但不能使用我的应用程序登录,而具有服务器身份验证的帐户可以通过应用程序登录 SqlConnection conn; public DbConnection(string connectionString) { conn = ne
SqlConnection conn;
public DbConnection(string connectionString)
{
conn = new SqlConnection(connectionString);
}
public bool IsConnection
{
get
{
if (conn.State == System.Data.ConnectionState.Closed)
conn.Open();
return true;
}
}
您的连接字符串错误。对于Windows身份验证,添加
integratedsecurity=true
并删除用户ID
和密码,因为Windows Auth会忽略这些。此外,您确实不应该缓存连接,只要在需要时从连接字符串创建一个连接,然后使用处理
sDataSource = tbServer.Text;
sDatabase = tbDatabase.Text;
sUsername = tbUsername.Text;
sPassword = tbPassword.Text;
string connectionString = string.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3};", sDataSource, sDatabase, sUsername, sPassword);
DbConnection Connection = new DbConnection(connectionString);
if (Connection.IsConnection)
MessageBox.Show("Connectie met database gelukt.", "Message", MessageBoxButton.OK, MessageBoxImage.Information);
ReportsWindow MW = new ReportsWindow(connectionString);
MW.Show();
this.Close();