PDA

View Full Version : سوال: خطا در بازگردانی اطلاعات



ehsan11
یک شنبه 02 اسفند 1388, 01:04 صبح
سلام
موقع بازگردانی اطلاعاتی که از اونا پشتیبان گرفتم پیغام
Exclusive access could not obtained because the database is in use Restore database terminating abnormallly.
change database context to master
میدمنم که منظورش اینه که تو برنامه یه جایی از دیتا بیس استفاده میشه ولی از هر راهی میرم نمیشه دستوری هست که قبل از کد restore ارتباط های دیتا بیس رو قطع کنه
ممنون میشم
خواهشن ادرس ندین اگه مبشه تو همین تاپیک بنویسین
با تشکر

slashslash2009
یک شنبه 02 اسفند 1388, 11:48 صبح
سعی کن موقع restore مستقیم عمل کنی و قبلش هیچ select انجام ندی یعنی یم چیز مجزا داشته باشی مثلا یک فرم دیگه

string query = "RESTORE FILELISTONLY FROM DISK = '" + strFileName + "'";
این رو هم امتحان کن

ehsan11
یک شنبه 02 اسفند 1388, 18:25 عصر
سلام
تشکر از اینکه جواب دادی ولی این روش جواب نداد بعد من تو برنامم باید کاربر user name و pass وارد کنه که اینم از database یاید بخونه و یه رجوع به database بالاجبار دارم .
اگه من اون برم login رو بردارم برنامه درست جواب میده مشکل اینه .
کدی که برای restore نوشتم اینه


SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.\\;Initial catalog=master;Integrated Security=true";
SqlCommand cmd = new SqlCommand();
con.Open();
string query = "use master; RESTORE DATABASE xerographic FROM DISK ='" + strFileName + "'WITH RECOVERY, REPLACE";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();

slashslash2009
یک شنبه 02 اسفند 1388, 19:27 عصر
یه امتحانی بکن ببین موقعی که برنامه رو خودت اجرا میکنی منظورم اجرای فایل exe است خارج از محیط VS بازم خطا میده

ehsan11
دوشنبه 03 اسفند 1388, 02:30 صبح
کد شما رو من به همین صورت نوشتم و جواب نداد خارج از محیط ویژوال
string query = "RESTORE FILELISTONLY FROM DISK = '" + strFileName + "'";
منظور از FILELISTONLY چیست
کجا باید نام DATABASE رو اضافه کرد ؟
کدی برای قطع تمام ارتباطات نیست ؟