создание строки подключения для прикрепленного файла MDF

#c# #database #wpf #backup #mdf

Вопрос:

то, что вы видите ниже, является частью моего проекта WPF, я использовал его для резервного копирования/восстановления своей базы данных SQL server, и он отлично работает, но; когда я хочу создать установочный файл с помощью расширенного установщика и перемещаю файлы MDF и LDF, созданные SQL-скриптом, в каталог приложений для использования в SQL express, это не работает. Теперь я хочу знать, что я могу сделать со строкой подключения, чтобы процедуры резервного копирования/восстановления могли работать правильно

  private string connectionString = "Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\DBNBO.mdf;Database=DBNBO; Trusted_Connection=Yes;";

  private void BtnBackup_OnClick(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            string database = connection.Database;
                                 string query = "Backup Database ["   database   "] To Disk = '"   txtBackup.Text   "\DB_backup.bak'";
                    SqlCommand command = new SqlCommand(query, connection);
                    connection.Open();
                    command.ExecuteNonQuery();          
                    connection.Close();
         }


private void btnRestore_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            string database = connection.Database;
                    if (connection.State != ConnectionState.Open) connection.Open();
                    string query1 = string.Format("Alter Database ["   database   "] Set Single_User With Rollback Immediate");
                    SqlCommand command1 = new SqlCommand(query1, connection);
                    command1.ExecuteNonQuery();
                    string query2 = string.Format("Use Master Restore Database ["   database   "] From Disk = '"   txtRestore.Text   "' With Replace");
                    SqlCommand command2 = new SqlCommand(query2, connection);
                    command2.ExecuteNonQuery();
                    string query3 = string.Format("Alter Database ["   database   "] Set Multi_User");
                    SqlCommand command3 = new SqlCommand(query3, connection);
                    command3.ExecuteNonQuery();
                connection.Close();
        }
 

введите описание изображения здесь

Комментарии:

1. на мой вопрос нет решения!!!???

2. Мы догадываемся, в какой строке возникает ошибка?

3. Пожалуйста, мне никто не поможет?

4. Как я могу использовать свое приложение на клиентском компьютере без установки SSMS только с помощью SQL express?