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を参照してください。

これは、Windows モードを認証モードとして使用するために SqlServer Express をインストールしていることを前提としています。このようにして、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

サーバーインスタンスで混合モード認証が許可されている場合は、接続文字列にSQLServerログイン/パスワードを指定する必要があります。許可されている場合のみWindows Mode、Windowsクレデンシャルを使用してログインする必要があります。

于 2013-02-16T14:15:31.923 に答える