PDA

View Full Version : حرفه ای: پشتیبان گیری خودکار از اکسس در وبی دات نت



milad.biroonvand
چهارشنبه 12 تیر 1392, 09:11 صبح
لطفا یک نمونه پشتیبان گیری خودکار از بانک اطلاعاتی اکسس اینجا بگذارید. آیا برای هنگ نکردن برنامه در هنگام پشتیبانگیری به غیر از backgroungworker و thread ها راهی دیگه هم هست. من پشتیبان گیری رو با استفاده از backgroungworker می نویسم .

Fery666
پنج شنبه 13 تیر 1392, 15:34 عصر
لطفا یک نمونه پشتیبان گیری خودکار از بانک اطلاعاتی اکسس اینجا بگذارید. آیا برای هنگ نکردن برنامه در هنگام پشتیبانگیری به غیر از backgroungworker و thread ها راهی دیگه هم هست. من پشتیبان گیری رو با استفاده از backgroungworker می نویسم .

اگر توی برنامه یه فرم که مخصوصه پشتیبان گیری هستش و یه botton هستش .
می تونی با تایمر اتوماتیک درست کنی یا با هر بار ثبت و خذف پشتیبان گیری رو صدا بزنه و پشتیبان گیری انجام بشه .
از این روشی که میگین من نمی دونم ولی میشه چنین کاری انجام داد .

milad.biroonvand
پنج شنبه 13 تیر 1392, 15:41 عصر
نه با تایمر کد پشتیبان گیری رو انجام دادن کلا اشتباه هست. چون میخوام برنامه هنگ نکنه .

shahryari
پنج شنبه 13 تیر 1392, 19:57 عصر
سلام
با این روش میتونی از بانک اکسس پشتبان بگیری بدون هنگ کردن همراه پیشرفت وضعیت روش مختص خودم است و بدون مشکل کار میکند (قبلا هم در یک تاپیکی گذاشته بود)
اول یک پروگرسبار به برنامت اضافه کن

بعد این تابع را به برنامت اضاف کنه
Public Sub BackupDB(ByVal DBName As String, ByVal BackupFile As String, ByVal progress As ProgressBar)
Dim S_file As New IO.FileStream(DBName, IO.FileMode.Open)
Dim D_file As New IO.FileStream(BackupFile, IO.FileMode.Create)
Dim len As Long = S_file.Length - 1
For i As Long = 0 To len
D_file.WriteByte(S_file.ReadByte)
If i Mod 1000 = 0 Then
progress.Value = i * 100 / len
Application.DoEvents()
End If
Next
S_file.Close()
D_file.Close()
progress.Value = 0
End Sub
سپس توسط یک باتن یا در یک تایمر به این شکل فراخوانیش کن
Dim db As String = Application.StartupPath & "\data\db.mdb"
Dim b As String = "C:\backup\backupfile.bak"
BackupDB(db, b, ProgressBar1)
درصورت مفید بود اعلام کنید