رایت فایل پشتیبان همراه با پشتیبان گیری
سلام دوستان
من تو برنامم بعد از اینکه از فایلم پشتیبان گرفتم میخوام اونو تو سی دی رایت کنم. ببینید برنامه پشتیبان گیری من به این شکله که من یه checkbox دارم به نام رایت بر روی دیسک. وقتی کاربر این چکباکسو تیک زد و دکمه پشتیبانو زد اول تو مسیری که داده از دیتابیسم یک پشتیبان میگیره و بعد فایل مورد نظر رو بر روی سی دی رایت میکنه. حالا مشکل من اینه:
تا مرحله پشتیبان درست انجام میشه اما وقتی رایت شروع میشه این ارور رو میده:
The process cannot access the file because it is being used by another process.
میشه یکی کمکم کنه؟
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
احتمالا فایلی که پشتیبان گرفتی توسط برنامه ات یا یه برنامه دیگه در حال اجرا یا بهش نظارت میشه.
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
توسط هیچ برنامه دیگه ای در حال اجرا یا نظارت نیست. اما در مورد برنامه خودم چطور میتونم حلش کنم ؟
فوریه...
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
دستوری رو که استفاده می کنی بذار.
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
دستور رایتم به تنهایی اجرا میشه اما وقتی کدش رو بعد از پشتیبان گیری میذارم این ارور رو میده
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
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)
این دستور رایت منه که تو حالت عادی درست کار میکنه
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
منظورم دستور پشتیبان گیریت بود
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
برنامم تو حالت های مختلف پشتیبان میگیره کدها خیلی طولانیه اما تو قسمت اصلیش از select * into استفاده میکنم
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
اگر درست فهمیده باشم برنامتون اطلاعات موجود در دیتابیس را در یک دیتابیس دیگه کپی میکنه و شما می خواهید دیتابیس دوم رو رایت کنید ؟
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
اگر با دستوراتی کار میکنی که در فایل نوشته میشه(مثل StreamWriter,BinaryWriter,TextWriter,...) بعد از اینکه کار نوشتن فایل تموم شد، متد Close اون آبجکت رو فراخونی کن تا جریان خروجی اطلاعات به اون فایل، بسته بشه و از ایجاد این خطا جلوگیری بشه، خطای شما داره میگه که فایل مورد نظر در اختیار یک پروسه ی دیگه هست (همون آبجکتی که داره فایل رو مینویسهو شما نبستی).
مثال :
StreamWriter sw;
...
sw.Close();
در ضمن اگه حتی فقط از دستور BackUp استفاده میکنی، اطمینان حاصل کن که بعد از BackUp گیری حتما Connection رو بستی.
نقل قول: رایت فایل پشتیبان همراه با پشتیبان گیری
ضمنا چک کن که کانکشی مربوط به تولید پشتیبان را بسته باشی.