View Full Version : سوال: مشکل در restore بکاپ گرفته شده از دیتابیس اکسس
  
mohsencom
دوشنبه 08 فروردین 1390, 16:21 عصر
با سلام خدمت تمامی دوستان و اساتید عزیز
دوستان من از دیتابیس اکسس با متد file.copy بکاپ میگیرم...خب اگه اسم فایل بکاپ گرفته شده رو عوض کنم مثلا یه تاریخی هم بهش اضافه کنم موقعی که میخوام بکاپ رو restore کنم خب این فایل بکاپ بجای دیتابیس برنامه میشینه منتها با یه اسم دیگه....و از اونجایی که تو connection string اسم دیتابیس برنامه قبلا تعیین شده برنامه با عوض شدن اسم دیتابیس به مشکل بر میخوره.....
شما چه راهی رو پیشنهاد میکنید برای جلوگیری از این مشکل؟؟؟
تنها راهی که میشناسم که اینه که دیتابیس برنامه رو با openfiledialog به برنامه بشناسونم..اما من نمیخوام هر بار موقع اجرا یا موقعی که بکاپ رو resore میکنم دیتابیس رو معرفی کنم...
میخوام نام بکاپم همراه با تاریخ باشه(نام+تاریخ رو خودم بلدم)....فقط نمیدونم چطوری مشکل connection string رو حل کنم.
.به نظر شما چه راهی غیر از چیزایی که گفتم این وجود داره؟؟؟؟
ممنون از همه شما..................
mohsencom
چهارشنبه 10 فروردین 1390, 21:07 عصر
اساتید محترم اگه کسی جواب سوال منو میدونه لطفا راهنماییم کنه...یا حداقل در مورد اصول بکاپ گیری و ریستور توضیح بدبد...ممنون از شما
ircast
چهارشنبه 10 فروردین 1390, 22: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
پنج شنبه 11 فروردین 1390, 00: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, 01: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, 03:08 صبح
دمت گرم داداش...راضی به زحمت نبودیم.....خیلی خیلی ازت ممنونمممممممممممممممممممم مممممممممم :قلب:
خیر ببینی :بوس:
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.