Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Backup/Restore Online Access

Îåêßíçóå áðü ôï ìÝëïò it048. Τελευταία δημοσίευση από το μέλος it048 στις 03-09-2009, 06:14. Υπάρχουν 0 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-09-2009, 06:14 53431

    Backup/Restore Online Access

    Καλημέρα, σε ένα site που έχω κάνει με asp.net 1.1 θελω να βάλω τη δυνατότητα να γίνεται backup και restore της access από τον χρήστη.

    Αρχικά παίρνω backup  με file.copy τη βαση σε αλλο folder και προσθέτω την εγγραφή του backup σε αλλη βαση για να βλέπω όλα τα backup που χω κάνει.

    Private Sub backup_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles backup.Click
            Dim DBPath, bkpath As String
            DBPath = Server.MapPath("db\database.mdb")
            bkpath = Server.MapPath("backup\" & dateFormat(GetDate(System.DateTime.Now, 2)) & ".mdb") 'της μορφής ηη-μμ-εε

            If Not System.IO.File.Exists(bkpath) Then
                DBPath = Server.MapPath("db\backups.mdb")
                Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & DBPath & ";"
                Me.OleDbConnection1.ConnectionString = sConnectionString
                Dim addCommand As New OleDb.OleDbCommand

                Me.OleDbConnection1.Open()
                addCommand.Connection = OleDbConnection1
                addCommand.CommandText = CommandType.Text

                Dim param1 As New OleDb.OleDbParameter("@name", OleDb.OleDbType.VarChar)
                addCommand.Parameters.Add(param1)
                addCommand.Parameters("@name").Value = dateFormat(GetDate(System.DateTime.Now, 2)) & ".mdb"

                Dim param2 As New OleDb.OleDbParameter("@DBdate", OleDb.OleDbType.Date)
                addCommand.Parameters.Add(param2)
                addCommand.Parameters("@DBdate").Value = GetDate(System.DateTime.Now, 1)

                Dim param3 As New OleDb.OleDbParameter("@path", OleDb.OleDbType.VarChar)
                addCommand.Parameters.Add(param3)
                addCommand.Parameters("@path").Value = bkpath

                addCommand.CommandText = "INSERT INTO backup (name, DBdate, path) values (?,?,?)"

                Try
                    addCommand.ExecuteNonQuery()
                    Me.OleDbConnection1.Close()
                    File.Copy(DBPath, bkpath)
                    backupDate() 'function που ενημερώνει την Online db ότι οι εγγραφες εχουν παρθει backup τη συγκεκριμενη ημερομηνια 
                Catch ex As Exception
                    Response.Write("ERROR1: " & ex.Message & "<br>")
                    Response.Write("ERROR1: " & ex.Source & "<br>")
                    Response.Write("ERROR1: " & ex.StackTrace & "<br>")
                End Try

                Me.OleDbDataAdapter1.Fill(Me.BackupDS1)
                Me.contactGrid.DataBind()
            End If
        End Sub

    Όλα καλα μέχρι εδώ.

    Τώρα θέλω να κάνω restore αλλα να μπορούν να μπούν στη βάση από το backup οι νέες εγγραφες που υπάρχουν από το τελευταίο backup.

    Κανω copy τη backup db σε ένα temp folder. Τώρα παίρνω σε dataset ολες τις εγγραφες που δεν εχουν παρθει backup.

    Dim ds As New DataSet
    Dim adapter As New Data.OleDb.OleDbDataAdapter

    GetCommand.CommandText = "select * from db where backup=false"

    Try
                GetCommand.ExecuteNonQuery()
                Me.OleDbConnection1.Close()

            Catch ex As Exception
                Response.Write("ERROR1: " & ex.Message & "<br>")
                Response.Write("ERROR1: " & ex.Source & "<br>")
                Response.Write("ERROR1: " & ex.StackTrace & "<br>")
            End Try
            adapter.Fill(ds)

    Τελος θέλω να τις κάνω insert στη βάση, από το dataset, που είναι στο temp folder.

    Πως το κάνω αυτό το τελευταίο?

    Ευχαριστώ

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems