1

我下载了 SQL Server 2012 并创建了一个名为“Test”的本地数据库。然后我尝试通过我在 VS 中的 c# 代码访问它,如下所示:

    class sqlTOdataTable
{
    DataTable IndexWordsTable;
    SqlDataAdapter sqlAdapter;
    private string connectionString = @"Server=localhost\SQLExpress;Database=Test"; 

    public sqlTOdataTable(string TableName)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            Console.WriteLine("Enter command");
            SqlCommand cmd = new SqlCommand(Console.ReadLine(),connection);
            SqlDataReader Reader = cmd.ExecuteReader();

        }
    }

}

每当它到达“connection.Open();” 出现“用户登录失败”错误。连接字符串有问题吗?

4

4 回答 4

4

如果您尝试使用已登录的帐户访问,请尝试添加:

Trusted_Connection=True;

如果不是,您需要指定在 SSMS 中创建的用户名和密码:

User Id=myUsername;Password=myPassword;
于 2013-02-16T14:15:07.990 回答
2

添加

Trusted_Connection=True;

所以你的连接字符串将是

private string connectionString = @"Server=localhost\SQLExpress;Database=Test;Trusted_Connection=True;"; 

请参阅www.connectionstrings.com

这假定您已安装 SqlServer Express 以将 Windows 模式用作身份验证模式。通过这种方式,您的 SqlExpress 接受您的 Windows 用户凭据。

于 2013-02-16T14:15:10.253 回答
1

试试这个方法

string connectionString = @"Data Source=.\SQLExpress;Initial Catalog=test;Integrated Security=True"; 
于 2013-02-16T14:23:11.270 回答
0

如果在您的服务器实例中允许混合模式身份验证,您必须在连接字符串中提供 SQL Server 登录名/密码。如果只Windows Mode允许,您必须使用 Windows 凭据登录。

于 2013-02-16T14:15:31.923 回答