Как прикрепить базу данных mssql с помощью относительного пути?
Я хотел бы иметь возможность присоединить БД, используя относительный путь. Это означает, что вместо использования 'C:\Release\App_Data\TRTF_TagLogging.mdf', я должен использовать '.\App_Data\TRTF_TagLogging.mdf'. Используя '.\App_Data\TRTF_TagLogging.mdf', я получаю 'System.Data.SqlClient.SqlException (0x80131904): произошла ошибка активации файла. Физическое имя файла '.\App_Data\TRTF_TagLogging.mdf' может быть неверным.'
Как я мог это сделать?
Что я уже пробовал:
Я могу прикрепить базу данных mssql при нажатии кнопки с помощью этого кода:
using (SqlConnection connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=;Integrated Security=True; MultipleActiveResultSets = true")) { using (SqlCommand cmd = new SqlCommand("", connection)) { using (SqlCommand cmd1 = new SqlCommand("", connection)) { try { cmd.CommandText = "CREATE DATABASE [TRTF_TagLogging] ON (FILENAME ='C:\\Release\\App_Data\\TRTF_TagLogging.mdf'),(FILENAME ='C:\\Release\\App_Data\\App_Data\\TRTF_TagLogging_log.ldf') FOR ATTACH"; cmd1.CommandText = "if(exists(select * from sys.databases where name = 'TRTF_TagLogging')) PRINT 'DB attached'"; connection.Open(); cmd.ExecuteNonQuery(); cmd1.ExecuteNonQuery(); //the rest of the code