PDA

View Full Version : سوال: مشکل در restore بکاپ گرفته شده از دیتابیس اکسس



mohsencom
دوشنبه 08 فروردین 1390, 15:21 عصر
با سلام خدمت تمامی دوستان و اساتید عزیز

دوستان من از دیتابیس اکسس با متد file.copy بکاپ میگیرم...خب اگه اسم فایل بکاپ گرفته شده رو عوض کنم مثلا یه تاریخی هم بهش اضافه کنم موقعی که میخوام بکاپ رو restore کنم خب این فایل بکاپ بجای دیتابیس برنامه میشینه منتها با یه اسم دیگه....و از اونجایی که تو connection string اسم دیتابیس برنامه قبلا تعیین شده برنامه با عوض شدن اسم دیتابیس به مشکل بر میخوره.....

شما چه راهی رو پیشنهاد میکنید برای جلوگیری از این مشکل؟؟؟

تنها راهی که میشناسم که اینه که دیتابیس برنامه رو با openfiledialog به برنامه بشناسونم..اما من نمیخوام هر بار موقع اجرا یا موقعی که بکاپ رو resore میکنم دیتابیس رو معرفی کنم...

میخوام نام بکاپم همراه با تاریخ باشه(نام+تاریخ رو خودم بلدم)....فقط نمیدونم چطوری مشکل connection string رو حل کنم.

.به نظر شما چه راهی غیر از چیزایی که گفتم این وجود داره؟؟؟؟
ممنون از همه شما..................

mohsencom
چهارشنبه 10 فروردین 1390, 20:07 عصر
اساتید محترم اگه کسی جواب سوال منو میدونه لطفا راهنماییم کنه...یا حداقل در مورد اصول بکاپ گیری و ریستور توضیح بدبد...ممنون از شما

ircast
چهارشنبه 10 فروردین 1390, 21:19 عصر
تنها راهی که میشناسم که اینه که دیتابیس برنامه رو با openfiledialog به برنامه بشناسونم..اما من نمیخوام هر بار موقع اجرا یا موقعی که بکاپ رو resore میکنم دیتابیس رو معرفی کنم...


سلام
در همه برنامه های که من دیدم فایل BackUp توسط کاربر به نرم افزار معرفی میشه حالا شما هم این کار رو انجام بدین چون شما تصمیم می گیرین که فایل Backup چه تاریخی باید Restore بشه نه خود نرم افزار

می تونیین اینجوری عمل کنین

Dim OpenFile As New OpenFileDialog
OpenFile.Filter = "Access DataBase |*.mdb"
If OpenFile.ShowDialog() = Windows.Forms.DialogResult.OK Then
FileCopy(OpenFile.FileName, Application.StartupPath.ToString + "\DataBase.mdb")
End If

mohsencom
چهارشنبه 10 فروردین 1390, 23:11 عصر
سلام
در همه برنامه های که من دیدم فایل BackUp توسط کاربر به نرم افزار معرفی میشه حالا شما هم این کار رو انجام بدین چون شما تصمیم می گیرین که فایل Backup چه تاریخی باید Restore بشه نه خود نرم افزار

می تونیین اینجوری عمل کنین

Dim OpenFile As New OpenFileDialog
OpenFile.Filter = "Access DataBase |*.mdb"
If OpenFile.ShowDialog() = Windows.Forms.DialogResult.OK Then
FileCopy(OpenFile.FileName, Application.StartupPath.ToString + "\DataBase.mdb")
End If

مرسی دوست عزیز....
قربون دهنت..من دقیقا مشکلم همینجاست...اینکه الان شما دیتابیس اصلی برنامه رو کپی کردی تحت نام Database.....درسته؟
خب الان همین بکاپ رو بخوای restore کنی باید بیاد جای دیتابیس اصلی برنامه بشینه دیگه...البته این دفعه تحت نام Database.....خب الان برنامه مشکل پیدا میکنه که.....
چون نام دیتابیس عوض شده تو کانکشن استرینگ مشکل پیش میاد

ircast
پنج شنبه 11 فروردین 1390, 00:32 صبح
با این مشکلت حل میشه :چشمک:

Public Class FrmBakup_Restore
Private Sub FrmBakup_Restore_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TxtBackupLoc.Text = GetSetting("MyApp", "Backup_Restore", "BakupLoc", "")
End Sub
Private Sub BtnBackupLoc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBackupLoc.Click
Dim FBrowserDlg As New FolderBrowserDialog
If FBrowserDlg.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.TxtBackupLoc.Text = FBrowserDlg.SelectedPath.ToString
SaveSetting("MyApp", "Backup_Restore", "BakupLoc", FBrowserDlg.SelectedPath.ToString)
End If
End Sub
Private Sub BtnBackupSrch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBackupSrch.Click
Dim OFileDlg As New OpenFileDialog
OFileDlg.Multiselect = False
OFileDlg.Filter = "Access DataBase |*.mdb"
If OFileDlg.ShowDialog = Windows.Forms.DialogResult.OK Then
Me.TxtFileBackcupLoc.Text = OFileDlg.FileName
End If
End Sub

Private Sub BtnBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBackup.Click
Try
If Me.TxtBackupLoc.TextLength = 0 Then
MessageBox.Show("لطفا مسیر پشتیبان گیری را مشخص نمائید")
Else
FileCopy(Application.StartupPath.ToString + "\DataBase.mdb", Me.TxtBackupLoc.Text + "\Backup - " + DateAndTime.DateString + ".mdb")
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد")
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BtnRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRestore.Click
Try
If Me.TxtFileBackcupLoc.TextLength = 0 Then
MessageBox.Show("لطفا فایل پشتیبان را مشخص نمائید")
Else
FileCopy(TxtFileBackcupLoc.Text, Application.StartupPath.ToString + "\DataBase.mdb")
MessageBox.Show("بازیابی پشتیبان با موفقیت انجام شد")
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click
Me.Close()
End Sub
End Class


فقط به جای Database نام دیتابیس خودت رو بنویس

mohsencom
پنج شنبه 11 فروردین 1390, 02:08 صبح
دمت گرم داداش...راضی به زحمت نبودیم.....خیلی خیلی ازت ممنونمممممممممممممممممممم مممممممممم :قلب:

خیر ببینی :بوس: