Проблема ConnectionString в соединении с базой данных C # SQL Server 2005 - PullRequest
1 голос
/ 24 июня 2010

Я новичок в использовании Asp.NET с C #, и я впервые пытаюсь установить соединение с базой данных SQL Server 2005:

Вот мой простой код для подключения к SQLсервер базы данных, я получаю текстовое сообщение, установленное в метке.Моя проблема в строке подключения ???если да, пожалуйста, покажите мне примеры, как написать его и как получить имя сервера и правильно его написать .... или как указать имя базы данных (весь путь или только имя базы данных ??)

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true");
            try{
                connection.Open();
            }
            catch{
                lblMessage.Text = "COULDN'T CONNECT to Stupid database";
            }finally{
                connection.Close();
            }



        }

Спасибо

Ответы [ 5 ]

2 голосов
/ 24 июня 2010

Строка подключения для SQL Server, использующего доверенное соединение, должна выглядеть следующим образом:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI

myServerAddress может быть IP-адресом имени вашего сервера, например, SQLSERVER01 или 192.168.1.5 myDataBase должно быть фактическим именем базы данных, а не файлом MDF, например, Northwind

1 голос
/ 24 июня 2010

Другие уже предлагают лучшую обработку исключений, чтобы получить некоторую информацию.

Другой подход: Кроме того, вы можете использовать мастер «Добавить источник данных» Visual Studio для поиска и подключения к вашей базе данных. Вы можете сделать это на фиктивной странице или проекте. Затем скопируйте получившуюся ConnectionString (из xx.config).

1 голос
/ 24 июня 2010

Измените свой код на это и опубликуйте, что есть в lblMessage:

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection("server = Saher;Database=Database.mdf;integrated security = true");
            try{
                connection.Open();
            }
            catch(Exception ex)
            {
                lblMessage.Text = ex.Message;
            }finally{
                connection.Close();
            }

        }

Прямо сейчас вы скрываете проблему, помещая "COULDN'T CONNECT to Stupid database" в вашу метку ошибки.

0 голосов
/ 25 июня 2010

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

protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ChurchApp\ChurchApplication\App_Data\Database.mdf;Integrated Security=True;User Instance=True");
        try{
            connection.Open();
            lblMessage.Text = "Connection Succeeded!";
        }
        catch(Exception ex){
            lblMessage.Text = ex.Message;
        }finally{
            connection.Close();
        }



    }

У меня отсутствовал знак @ до того, какСтрока подключения, и я использовал / вместо того, чтобы преодолеть ошибку, которую я получаю !!!(не делайте этого!)

Получите строку подключения, щелкнув правой кнопкой мыши по вашей базе данных в Обозревателе серверов и измените подключения, а затем ДОПОЛНИТЕЛЬНО ... скопируйте все из расширенного свойства, которое вы получитеосновная строка подключения находится внизу страницы.

0 голосов
/ 24 июня 2010

Проверьте это Строки подключения

Прежде всего, не могли бы вы пояснить, какую версию SQL-сервера вы используете и находится ли файл базы данных в каталоге App_Data?

//Change the catch statement to get the error
//Original Code

catch{
  lblMessage.Text = "COULDN'T CONNECT to Stupid database";
}

//Change it into
catch(Exception ex){
  lblMessage.Text = ex.Message.ToString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...