Ошибка входа для пользователя 'sa'. в строке подключения - PullRequest
2 голосов
/ 09 марта 2012

Я получаю следующую ошибку:

Ошибка входа пользователя 'sa'

Когда я пытаюсь подключиться к серверу, установив значение через строковую переменную:

private SqlConnection getDbConnection = new SqlConnection("Data Source="+dbname+";Initial Catalog="+catname+";User Id=sa;Password=sa;Integrated Security=false");

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

private SqlConnection getDbConnection = new SqlConnection("Data Source=Ali-pc\\;Initial Catalog=master;User Id=sa;Password=sa;Integrated Security=false");

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

поместите строку подключения в файл web.config, как показано ниже

<connectionStrings>
<add name="Test" connectionString="data source=Harsh; Initial Catalog=Test ; user Id=sa; password=sa123;"/>
</connectionStrings>

Выше «Test» - это имя строки соединения, вы можете написать имя источника данных. Мой - суровый, поэтому измените его в соответствии с вашим. Укажите имя вашей базы данных в начальном каталоге.

А затем поместите этот код в ваш код за событием загрузки страницы

SqlConnection con = new  SqlConnection(ConfigurationManager.ConnectionStrings["Test"].ToString());

Это будет работать.

1 голос
/ 09 марта 2012

Может быть, имя сервера и имя базы данных (в переменных dbname и catname ) просто неверны?

Кстати, я бы рекомендовал использовать SqlConnectionStringBuilder класс.

var sb = new SqlConnectionStringBuilder() { InitialCatalog = catname,
                                            DataSource = dbname,
                                            UserID = "sa",
                                            Password = "sa" };

var dbConnection = new SqlConnection(sb.ConnectionString);
...