Подключение к локальной базе данных SQL Server с использованием С#

Предположим, что я создал базу данных SQL Server под названием Database1.mdf в папке App_Data в Visual Studio с таблицей Names.

Как я могу установить соединение для чтения значений таблицы с помощью С#?

До сих пор я пробовал что-то вроде этого:

SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;");

conn.Open();

// create a SqlCommand object for this connection
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select * from Names";

Но я получаю сообщение об ошибке:

база данных не найдена/ошибка подключения к базе данных

Ответ 1

В Data Source (слева от Visual Studio) щелкните правой кнопкой мыши по базе данных, затем Configure Data Source With Wizard. Появится новое окно, разверните строку "Соединение", вы можете найти строку подключения там

Ответ 2

Если вы используете аутентификацию SQL, используйте это:

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "User Id=UserName;" + 
     "Password=Secret;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();

Если вы используете проверку подлинности Windows, используйте следующее:

using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "Integrated Security=true;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();

Ответ 3

SqlConnection c = new SqlConnection(@"Data Source=localhost; 
                           Initial Catalog=Northwind; Integrated Security=True");

Ответ 4

Если вы используете SQL Server express, измените

SqlConnection conn = new SqlConnection("Server=localhost;" 
       + "Database=Database1;");

в

SqlConnection conn = new SqlConnection("Server=localhost\SQLExpress;" 
       + "Database=Database1;");

Это и сотни других строк соединения можно найти по адресу http://www.connectionstrings.com/

Ответ 5

Вы пытаетесь использовать это строковое соединение

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

Ответ 6

Мне нравится использовать удобный способ, описанный здесь, для построения строк соединения с использованием.udl файла. Это позволяет вам тестировать их из файла udl, чтобы убедиться, что вы можете подключиться, прежде чем запускать какой-либо код.

Надеюсь, это поможет.