Как подключиться к файлу базы данных MDF? - PullRequest
14 голосов
/ 19 января 2012

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

Я не пытаюсь подключиться к файлу 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'.

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

Ответы [ 7 ]

27 голосов
/ 19 января 2012

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

 con.ConnectionString = @"Data Source=.\SQLEXPRESS;
                          AttachDbFilename=c:\folder\SampleDatabase.mdf;
                          Integrated Security=True;
                          Connect Timeout=30;
                          User Instance=True";
10 голосов
/ 13 декабря 2013
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.

9 голосов
/ 16 ноября 2016

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

5 голосов
/ 31 августа 2017

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

"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|Database1.mdf;Integrated Security=True"
1 голос
/ 19 января 2012
Server=.\SQLExpress;AttachDbFilename=c:\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
0 голосов
/ 18 октября 2017

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

.ConnectionString(@"Data Source=LocalDB)\MSSQLLocalDB;
                    AttachDbFilename="+AppDomain.CurrentDomain.BaseDirectory+"Folder1\\Folder2\\SampleDatabase.mdf" + ";
                    Integrated Security=True;")
0 голосов
/ 11 июня 2014
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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...