2013-02-16 2 views
0

Я загрузил SQL-сервер 2012 и создал локальную базу данных под названием «Тест». Затем я попытался получить к нему доступ через мой C# код в VS, как это:Ошибка входа для пользователя

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();» появляется сообщение «Ошибка входа в систему для пользователя». Что-то не так со строкой подключения?

ответ

1

Если вы пытаетесь получить доступ с вашим зарегистрированным в учетной записи, попробуйте добавить:

Trusted_Connection=True; 

Если вам не нужно указать имя пользователя и пароль, созданный в SSMS:

User Id=myUsername;Password=myPassword; 
0

Добавить

Trusted_Connection=True; 

так что вы ConnectionString будет

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

См www.connectionstrings.com

Это предполагает, что вы установили SQLServer Express, чтобы использовать в качестве Authentication Mode из режима Windows. Таким образом, ваш SqlExpress принимает ваши учетные данные пользователя Windows.

0

Вы должны указать логин/пароль SQL Server в строке подключения, если на вашем экземпляре сервера разрешена проверка в смешанном режиме. Если разрешено только Windows Mode, вы должны войти в систему, используя учетные данные Windows.

1

Попробуйте этот путь

string connectionString = @"Data Source=.\SQLExpress;Initial Catalog=test;Integrated Security=True"; 
Смежные вопросы