Я не могу подключиться к моей локальной базе данных SQL Server

В настоящее время я изучаю ADO.NET на С#. Я учусь по книге и учебникам, которые я нашел в Интернете. Я хотел попробовать некоторые из примеров, чтобы ознакомиться со всем соединением SQL, объектами команд и т.д. Следовательно, я попробовал это:

namespace ConsoleApplication
{
    class SqlDemo
    {
        public void InitConnection ()
        {
            string connString = @"data source=C:\SQL Server 2000 Sample Databases; database=northwnd; integrated security=SSPI";
            SqlConnection conn = null;

            try
            {
                conn = new SqlConnection (connString);
                conn.Open ();
                Console.WriteLine ("DataBase connection established");
            }
            catch
            {
                Console.WriteLine ("DataBase connection not established");
            }
            finally
            {
                if (conn != null) conn.Close ();
            }

            Console.ReadKey (true);
        }

        static void Main (string[] args)
        {
            SqlDemo d = new SqlDemo ();
            d.InitConnection ();
        }
    }
}

И как бы я ни пытался, я могу подключиться к локальной базе данных. "data source=(local)" не работает.


person user990692    schedule 10.12.2011    source источник
comment
Добро пожаловать в StackOverflow: если вы публикуете образцы кода, XML или данных, пожалуйста, выделите эти строки в текстовом редакторе и нажмите кнопку образцов кода ( { } ) на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис. !   -  person marc_s    schedule 11.12.2011


Ответы (3)


Несколько вещей:

1) Похоже, у вас может быть опечатка в имени вашей базы данных. Вероятно, это должно быть:

database=northwind

2) Ваш источник данных должен быть (local) или . ИЛИ у вас может быть установлен экземпляр, и в этом случае вам может потребоваться также указать имя экземпляра, например .\SQLExpress или .\SQLServer.

person competent_tech    schedule 10.12.2011
comment
В порядке. Думаю, я понял. Я создал приложение формы и добавил сетку данных, а затем использовал ее для подключения к файлу базы данных lcoal, который у меня есть на моем компьютере. Это значение источника данных connectionString =.\SQLEXPRESS;AttachDbFilename=C:\SQL Server 2000 Sample Databases\NORTHWND.MDF;Integrated Security=True;Время ожидания подключения=30;Экземпляр пользователя=True - person user990692; 11.12.2011

Если вы хотите подключиться к файлу базы данных, используя путь:

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

Откуда: http://www.connectionstrings.com/sql-server-2008

Однако вам также может потребоваться «прикрепить» базу данных к серверу Sql. В студии управления щелкните правой кнопкой мыши папку «Базы данных» и выберите «Прикрепить…».

person Steve Wellens    schedule 10.12.2011
comment
Ага. Спасибо, Стив. Кажется, это работает лучше. Быстрый вопрос. В чем разница между источником данных = (локальный) и источником данных = .\SQLExpress. Первый, кажется, не работает для меня, хотя он есть в книгах и онлайн-учебниках. - person user990692; 11.12.2011
comment
Я погуглил источник данных = (местный), и первый ответ ответил на ваш вопрос. social.msdn.microsoft .com/Forums/en-US/adodotnetdataproviders/ - person Steve Wellens; 11.12.2011

Если вы используете SQL Server 2000, просто укажите «локальный» или просто «.». (без кавычек) для источника данных. И у вас опечатка в имени базы данных. Это должен быть "Борей"

person Isuru    schedule 10.12.2011