PDA

View Full Version : مشکل در restor نسخه بشتیبان



mina_84
جمعه 29 اردیبهشت 1385, 14:33 عصر
سلام من از برنامه زیر برای restore نسخه بشتیبان استفاده کردم


try

ADOCommand1.CommandText := 'Use Master';
ADOCommand1.Execute();
if OpenDialog1.Execute then
begin
ADOCommand1.CommandText := 'Restore database '+'نام دیتا بیس'+' From disk='+QuotedStr(OpenDialog1.FileName);
ADOCommand1.Execute();
ShowMessage('عملیات بازیابی با موفقیت انجام شد');
end;
Except
ShowMessage('عملیات بازیابی با شکست مواجه شد');
end;


ولی بیغام خطای زیر رو میده
لطفا منو راهنمایی کنید
project project1.exe raised exception class eoleexception with message 'exclusive access could not be
obtained because the database is in use' .process stop.

MNosouhi
جمعه 29 اردیبهشت 1385, 16:28 عصر
بانکت چیه؟
در هنگام بازیابی نباید جداولت در حال استفاده باشند.

ali_kolahdoozan
جمعه 29 اردیبهشت 1385, 17:28 عصر
توی جوابهای من بگردی در تاپیکها هست . البته در بخش دلفی نه

mina_84
شنبه 30 اردیبهشت 1385, 00:01 صبح
کدوم تابیکتون؟

mina_84
شنبه 30 اردیبهشت 1385, 00:02 صبح
بانکم sql است

ali_divsalar
شنبه 30 اردیبهشت 1385, 06:36 صبح
دستور امتحان شده و باید جوابتونو بده
ADOCommand1.CommandText:='Use Master ';
ADOCommand1.execute;
ADOCommand1.CommandText:='Restore DATABASE YourDataBase From DISK='+QuotedStr (opendialog1.FileName);

vcldeveloper
شنبه 30 اردیبهشت 1385, 06:44 صبح
جستجو کنید:
http://www.barnamenevis.org/forum/showthread.php?t=32723&highlight=restore
اگه جستجو کنید لینک های بیشتری هم پیدا می کنید.

m-khorsandi
شنبه 30 اردیبهشت 1385, 07:49 صبح
این لینک رو هم ببینید:
Restore کردن فایل پشتیبان (http://www.barnamenevis.org/forum/showthread.php?t=20716)

oghab
شنبه 30 اردیبهشت 1385, 10:00 صبح
سلام
حالا که پیغام خطا را نوشتی حدس میزنم مشکل از اینجا باشه ولی مطمئن نیستم.
توی برنامه ات وقتی connection مربوط به sql را وصل کردی اسم database را هم انتخاب کردی. حالا یا همین adocommand ی که برای restore استفاده کردی یا مثلا یه adotable که active اش هم true و کاری به این قسمت نداره، در هر صورت داره از database استفاده میشه (in use).
حالا یه بار امتحان بکن connection مربوط به sql را فقط به sql وصل کن و نام database را نده. ببین جواب میده. اگه جواب داد بعد یه راه برای برقراری ارتباط دوباره با پایگاه داده حتما هست.
و اگه enterprise manager ت بازه. حواسه باشه اونجا روی database ت نباشی.
موفق باشی.
امیدوارم درست گفته باشم. :متفکر: