Подтвердить что ты не робот

Как подключиться к файлу базы данных MDF?

Я экспериментирую в подключении приложения С# к базе данных MDF в первый раз, и мне нужна небольшая помощь.

Я создал небольшой файл базы данных MDF в Visual Studio 2010, затем создал другой проект и импортировал файл в сам проект.

Я не пытаюсь подключиться к файлу MDF с помощью кода. Вот код, который я использую:

namespace DBtestApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        System.Data.SqlClient.SqlConnection con;
        private void Form1_Load(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = "DataSource=.\\SQLEXPRESS; AttachDbFilename =SampleDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            con.Open();
            MessageBox.Show("Connection opened");
            con.Close();
            MessageBox.Show("Connection closed");
        }
    }
}

Когда я запускаю приложение, я получаю исключение в строке, где я определяю строку подключения, а исключение имеет это сообщение в верхней части стека:

System.ArgumentException: Keyword not supported: 'datasource'.

Может ли кто-нибудь указать мне в правильном направлении?

4b9b3361

Ответ 1

Добавьте пробел между Data Source

 con.ConnectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=c:\folder\SampleDatabase.mdf;
                          Integrated Security=True;
                          Connect Timeout=30;
                          User Instance=True";

Ответ 2

string sqlCon = @"Data Source=.\SQLEXPRESS;" +
                @"AttachDbFilename=|DataDirectory|\SampleDB.mdf;
                Integrated Security=True;
                Connect Timeout=30;
                User Instance=True";
SqlConnection Con = new SqlConnection(sqlCon);

Путь к файлу должен иметь | DataDirectory |, который на самом деле ссылается на "текущий каталог проекта \App_Data \" или "текущий каталог проекта" и получает файл .mdf..... Разместите .mdf в любом из этих мест и должен работать в visual studio 2010. И когда вы используете автономное приложение в производственной системе, тогда текущий путь, где находится исполняемый файл, должен иметь файл .mdf.

Ответ 3

Перейдите в проводник серверa > Ваша база данных > Щелкните правой кнопкой мыши > свойствa > ConnectionString и скопируйте строку подключения и скопируйте ее в код соединительной строки:)

Ответ 4

Для Visual Studio 2015 строка подключения:

"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"

Ответ 5

Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;

Ответ 6

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Samples\MyApp\C#\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

это работает для меня... Есть ли способ сократить путь? как

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=\bin\Debug\Login.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

Ответ 7

Альтернативное решение, в котором вы можете иметь базу данных в нужную папку внутри решения. Это сработало для меня:

.ConnectionString(@"Data Source=LocalDB)\MSSQLLocalDB;
                    AttachDbFilename="+AppDomain.CurrentDomain.BaseDirectory+"Folder1\\Folder2\\SampleDatabase.mdf" + ";
                    Integrated Security=True;")