PDA

View Full Version : سوال: رایت فایل پشتیبان همراه با پشتیبان گیری



mehrnoosh_al62
چهارشنبه 19 تیر 1387, 09:52 صبح
سلام دوستان
من تو برنامم بعد از اینکه از فایلم پشتیبان گرفتم میخوام اونو تو سی دی رایت کنم. ببینید برنامه پشتیبان گیری من به این شکله که من یه checkbox دارم به نام رایت بر روی دیسک. وقتی کاربر این چکباکسو تیک زد و دکمه پشتیبانو زد اول تو مسیری که داده از دیتابیسم یک پشتیبان میگیره و بعد فایل مورد نظر رو بر روی سی دی رایت میکنه. حالا مشکل من اینه:
تا مرحله پشتیبان درست انجام میشه اما وقتی رایت شروع میشه این ارور رو میده:

The process cannot access the file because it is being used by another process.

میشه یکی کمکم کنه؟

Xcalivorse
چهارشنبه 19 تیر 1387, 10:02 صبح
احتمالا فایلی که پشتیبان گرفتی توسط برنامه ات یا یه برنامه دیگه در حال اجرا یا بهش نظارت میشه.

mehrnoosh_al62
چهارشنبه 19 تیر 1387, 10:09 صبح
توسط هیچ برنامه دیگه ای در حال اجرا یا نظارت نیست. اما در مورد برنامه خودم چطور میتونم حلش کنم ؟
فوریه...

Xcalivorse
چهارشنبه 19 تیر 1387, 10:20 صبح
دستوری رو که استفاده می کنی بذار.

mehrnoosh_al62
چهارشنبه 19 تیر 1387, 10:45 صبح
دستور رایتم به تنهایی اجرا میشه اما وقتی کدش رو بعد از پشتیبان گیری میذارم این ارور رو میده

mehrnoosh_al62
چهارشنبه 19 تیر 1387, 10:51 صبح
Dim gf As FileInfo
gf = New FileInfo(ph)
cd.AddFile(gf.FullName, "\" & n.Text)
cd.BurnerDrive = Me.cmbDrive.Text
If Not txtcdname.Text.Trim = String.Empty Then
cd.VolumeName = txtcdname.Text
End If
cd.ActiveFormat = XPBurn.RecordType.afData

cd.RecordDisc(cbxEject.Checked, cbxSimulate.Checked)

این دستور رایت منه که تو حالت عادی درست کار میکنه

Xcalivorse
چهارشنبه 19 تیر 1387, 11:04 صبح
منظورم دستور پشتیبان گیریت بود

mehrnoosh_al62
چهارشنبه 19 تیر 1387, 11:28 صبح
برنامم تو حالت های مختلف پشتیبان میگیره کدها خیلی طولانیه اما تو قسمت اصلیش از select * into استفاده میکنم

Xcalivorse
چهارشنبه 19 تیر 1387, 12:06 عصر
اگر درست فهمیده باشم برنامتون اطلاعات موجود در دیتابیس را در یک دیتابیس دیگه کپی میکنه و شما می خواهید دیتابیس دوم رو رایت کنید ؟

hdv212
چهارشنبه 19 تیر 1387, 12:34 عصر
اگر با دستوراتی کار میکنی که در فایل نوشته میشه(مثل StreamWriter,BinaryWriter,TextWriter,...) بعد از اینکه کار نوشتن فایل تموم شد، متد Close اون آبجکت رو فراخونی کن تا جریان خروجی اطلاعات به اون فایل، بسته بشه و از ایجاد این خطا جلوگیری بشه، خطای شما داره میگه که فایل مورد نظر در اختیار یک پروسه ی دیگه هست (همون آبجکتی که داره فایل رو مینویسهو شما نبستی).
مثال :

StreamWriter sw;
...
sw.Close();

در ضمن اگه حتی فقط از دستور BackUp استفاده میکنی، اطمینان حاصل کن که بعد از BackUp گیری حتما Connection رو بستی.

mohammed
چهارشنبه 01 آبان 1387, 07:45 صبح
ضمنا چک کن که کانکشی مربوط به تولید پشتیبان را بسته باشی.