alex1000
چهارشنبه 02 اردیبهشت 1388, 17:53 عصر
سلام
دستان من یک برنامه دارم که توی اون میخوام با شروع برنامه بانک attach بشه و در پایان هم detach بشه. میدونم یک راهی هست که اینکار به صورت اتوماتیک انجام بشه اما من میخوام اینکارو به صورت دستی انجام بدم.
با sp_attach_db کار اتصال به بانک رو در ابتدای تابع main برنامه انجام میدم و میخوام با sp_detach_db در انتهای تابع main یعنی دقیقا قبل از اکولاد بسته کار detach رو انجام بدم.
SqlCommand objSqlCommand = new SqlCommand();
objSqlCommand.Connection = new SqlConnection(@"SERVER=.\SQLEXPRESS; DATABASE=master; Integrated Security=true");
objSqlCommand.Connection.Open();
objSqlCommand.CommandType = CommandType.StoredProcedure;
objSqlCommand.CommandText = "sp_detach_db";
objSqlCommand.Parameters.AddWithValue("@dbname", SqlDbType.NVarChar).Value = "DBNAME";
objSqlCommand.Parameters.AddWithValue("@skipchecks", SqlDbType.NVarChar).Value = "true";
objSqlCommand.ExecuteNonQuery(); // --> اینجا ارور میده
objSqlCommand.Connection.Close();
attach به درستی انجام میشه اما detach نه؟!!! ارور میده که بانک در حال استفاده است!!!
برنامه رو به صورت خط به خط و بدون اون spها انجام میدم. دقیقا تا وقتی به آکولاد بسته در تابع main اجرا نشه نمیشه بانک رو از روی sql server اونو detach کرد.
لطفا راهنماییم کنید.کجا باید دستور detach رو انجام بدم؟؟ آیا قبل از این دستور دستور خاصی نیاز تا تمام ارتباط ما رو با بانک قطع کنه؟؟
دستان من یک برنامه دارم که توی اون میخوام با شروع برنامه بانک attach بشه و در پایان هم detach بشه. میدونم یک راهی هست که اینکار به صورت اتوماتیک انجام بشه اما من میخوام اینکارو به صورت دستی انجام بدم.
با sp_attach_db کار اتصال به بانک رو در ابتدای تابع main برنامه انجام میدم و میخوام با sp_detach_db در انتهای تابع main یعنی دقیقا قبل از اکولاد بسته کار detach رو انجام بدم.
SqlCommand objSqlCommand = new SqlCommand();
objSqlCommand.Connection = new SqlConnection(@"SERVER=.\SQLEXPRESS; DATABASE=master; Integrated Security=true");
objSqlCommand.Connection.Open();
objSqlCommand.CommandType = CommandType.StoredProcedure;
objSqlCommand.CommandText = "sp_detach_db";
objSqlCommand.Parameters.AddWithValue("@dbname", SqlDbType.NVarChar).Value = "DBNAME";
objSqlCommand.Parameters.AddWithValue("@skipchecks", SqlDbType.NVarChar).Value = "true";
objSqlCommand.ExecuteNonQuery(); // --> اینجا ارور میده
objSqlCommand.Connection.Close();
attach به درستی انجام میشه اما detach نه؟!!! ارور میده که بانک در حال استفاده است!!!
برنامه رو به صورت خط به خط و بدون اون spها انجام میدم. دقیقا تا وقتی به آکولاد بسته در تابع main اجرا نشه نمیشه بانک رو از روی sql server اونو detach کرد.
لطفا راهنماییم کنید.کجا باید دستور detach رو انجام بدم؟؟ آیا قبل از این دستور دستور خاصی نیاز تا تمام ارتباط ما رو با بانک قطع کنه؟؟