Calsse Restauratio/Sauvgarde BD Via VB.net

Fermé
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 - 16 janv. 2010 à 23:54
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 - 29 janv. 2010 à 21:19
Bonjour,

Apres quelque recherche j'ai relise deux classe SauvgarderBD et RestaurerBD
c'est deux classe permet la restauration et la sauvegarde d'une base de donne sql sevrer via une application VB.net


'NomClass : SauvgarderBD
'version : 1.0
'Description : Cette classe permet de crier un backup(sauvgarde) pour les base de donne crier avec SQL server(200,2005,2008)
'methode d'utilisation : apres l'instition en passe les valeur pour les attributs (Nom de la basse de donne;Nombacup;Chemain)
'Auteur : T.Amine
'age : 21 ans
'Date Creation 23/10/2009
'E-mail : holow@hotmail.fr ou holowDx@gmail.com
'Site : Encore de construction (www.TSTDIcour.ma)
'Remarque : Avant de l'utilsation de la classe il faut ajouater 2 reference et pour ca menu-->projet-->ajouter une reference (microsoft.sqlserver.connectioinfo,microsoft.sqlserver.Smo)
'site Utiliser :http://www.devloppez.com/;http://social.msdn.microsoft.com/Forums/fr-FR/categories
'Les System utiliser
'                        ou cas d'une error contactez moi et merci d'avance
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Common
Imports Microsoft.SqlServer.Management.Smo
Public Class SauvgarderBD
    'Varaible utilset

    Dim con As SqlConnection
    Dim cmd As SqlCommand
    Dim srvConnection As ServerConnection


    'Attribut du  classe

    Private NomBD_ As String   'Nom du base de donnée
    Private EmplacementSauvgarder_ As String 'Emplacemet du backu Example "c:\"
    Private NomBackup_ As String 'Nom du sauvgarde example "Backup1"
    Private frm As Form
    'Property de la classe

    Property NomBD() As String
        Get
            Return NomBD_
        End Get
        Set(ByVal value As String)
            If value <> Nothing Then
                NomBD_ = Trim(value.ToString)
            End If
        End Set
    End Property
    Property EmplacementSauvgarder() As String
        Get
            Return EmplacementSauvgarder_
        End Get
        Set(ByVal value As String)
            If value <> Nothing Then
                EmplacementSauvgarder_ = Trim(value.ToString)
            End If
        End Set
    End Property
    Property NomBackup() As String
        Get
            Return NomBackup_
        End Get
        Set(ByVal value As String)
            If value <> Nothing Then
                NomBackup_ = Trim(value.ToString)
            End If
        End Set
    End Property
    'methode du classe

    Private Function ChaineConnectionLocal() As String 'Permet de retourner la chaine de connection
        con = New SqlConnection
        con.ConnectionString = "Initial Catalog=" & NomBD_ & "; Data Source=. ; Integrated Security=true"
        Return con.ConnectionString.ToString
    End Function

    Private Sub ConnecterBdLocal() 'Ouvrete connection
        con = New SqlConnection
        con.ConnectionString = ChaineConnectionLocal()
        If con.State <> ConnectionState.Open Then
            con.Open()
        End If
    End Sub

    Private Sub DeconnecterBdLocal()
        con = New SqlConnection
        con.ConnectionString = ChaineConnectionLocal()
        If con.State <> ConnectionState.Closed Then
            con.Close()
        End If
    End Sub

    Public Sub SauvgarderBdModeConnecter() 'cette methode permet de faire un sauvgade d'une base de donnée en utilsant les objet suivant (Sqlconnectio et sqlcommande) on mode Connecter
        Try
            cmd = New SqlCommand
            con = New SqlConnection
            con.ConnectionString = ChaineConnectionLocal()
            cmd.CommandType = CommandType.Text
            cmd.Connection = con
            cmd.CommandText = "BACKUP database " & NomBD_ & " TO  DISK = N'" & EmplacementSauvgarder_ & NomBackup_ & ".bak'"
            con.Open()
            cmd.ExecuteNonQuery() 'execution de la requete
            DeconnecterBdLocal()
        Catch ex As Exception
            MessageBox.Show("Creation Backup ERROR!!!!!" + vbCrLf + "Exception message :" + vbCrLf + vbTab + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Public Sub SauvgarderBdComplet(ByVal frm As Form) 'Cette methode permet de faire un sauvgade d'une base de donne sqlServer en donne la comme parametre le nom du formulaire example (ME si en ds la meme frm )
        Dim bError As Boolean
        Dim dlgSaveFile As New SaveFileDialog()
        bError = False
        dlgSaveFile.Filter = "SQL Server database backup files|*.bak"
        If dlgSaveFile.ShowDialog(frm) = Windows.Forms.DialogResult.OK Then
            frm.Update()
            ' craetion d'objet connecetion
            Dim sqlConnection As New SqlClient.SqlConnection(ChaineConnectionLocal)
            Dim srvrConnection As New ServerConnection(sqlConnection)
            Dim srvr As New Server(srvrConnection)
            Dim bkp As New Backup() ' creation de l'objet pour crier le back up
            bkp.Action = BackupActionType.Database 'Sauvgade Complet
            bkp.Database = NomBD_ ' Nom Base de Donnee
            bkp.BackupSetDescription = "Sauvgadre Base Donnee " + DateTime.Today.ToShortDateString  ' Commantaire Sauvgadrer
            bkp.BackupSetName = NomBackup_  ' Nom Sauvgade
            bkp.Incremental = False 'creation Sauvgade Complet non pour les pour les dernier changement
            bkp.Checksum = True  'Calculer la somme des donnes pour verefier le sauvgarde
            bkp.LogTruncation = BackupTruncateLogType.Truncate  ' Couper l'enregestremnt de la BD apres la creation du Backu
            Dim bdi As New BackupDeviceItem(dlgSaveFile.FileName, DeviceType.File) ' choix d'appariel sur la quelle vont crier le backup
            bkp.Devices.Add(bdi)
            Try
                bkp.SqlBackup(srvr) ' Commancement de la creation du sauvgarde
            Catch ex As Exception
                MessageBox.Show("Impossible de faire un sauvgarde de cette Base de donnée esseyer une au" + vbCrLf + "Exception message :" + vbCrLf + vbTab + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
                bError = True
            End Try
            If Not bError Then MessageBox.Show("Sauvgarde bien réussi", "Restauration " & NomBD_, MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    End Sub
End Class




'methode d'utilisation : apres l'instition en passe les valeur pour les attributs (Nom de la basse de donne)
'Auteur : T.Amine
'age : 21 ans
'Date Creation 23/10/2009
'E-mail : holow@hotmail.fr ou holowDx@gmail.com
'Site : Encore de construction (www.TSTDIcour.ma)
'Site Utilser :http://www.devloppez.com/;http://social.msdn.microsoft.com/Forums/fr-FR/categories
'Remarque : Avant de l'utilsation de la classe il faut ajouater 2 reference et pour ca menu-->projet-->ajouter une reference (microsoft.sqlserver.connectioinfo,microsoft.sqlserver.Smo)
'                        ou cas d'une error contactez moi et merci d'avance


'Les escapces des om utilsant
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Common
Imports Microsoft.SqlServer.Management.Smo
Public Class RestaurerBD
    'varaible utiliser
    Dim con As SqlConnection

    'Attribut du  classe
    Private NomBD_ As String   'Nom du base de donnée


    'Property de la classe
    Property NomBD() As String
        Get
            Return NomBD_
        End Get
        Set(ByVal value As String)
            If value <> Nothing Then
                NomBD_ = Trim(value.ToString)
            End If
        End Set
    End Property

    'methode du classe
    Private Function ChaineConnectionLocal() As String 'Permet de retourner la chaine de connection
        con = New SqlConnection
        con.ConnectionString = "Initial Catalog=" & NomBD_ & "; Data Source=. ; Integrated Security=true"
        Return con.ConnectionString.ToString
    End Function

    Public Sub Restaurer(ByVal frm As Form)
        Dim bError As Boolean
        Dim dlgOpenFile As New OpenFileDialog()
        bError = False
        dlgOpenFile.Filter = "SQL Server database backup files|*.bak"
        If dlgOpenFile.ShowDialog(frm) = Windows.Forms.DialogResult.OK Then
            frm.Update()
            Dim sqlConnection As New SqlClient.SqlConnection(ChaineConnectionLocal) ' Creation les objet de connection
            Dim srvrConnection As New ServerConnection(sqlConnection)
            Dim srvr As New Server(srvrConnection) ' Creation de la rolation avec le serveur
            Dim rstr As New Restore() ' Creation de l'objet pour restaurer la BD
            rstr.Action = RestoreActionType.Database ' Changement toatal de la BD
            rstr.Checksum = True     ' verefecation des donnée
            rstr.ContinueAfterError = True ' Contunier l'operation(Resauration) apres des errors
            rstr.Database = NomBD_ ' Nom de la Bd a Restaurer
            rstr.Devices.Add(New BackupDeviceItem(dlgOpenFile.FileName, DeviceType.File)) ' Emplacemt du sauvgarde
            rstr.ReplaceDatabase = True ' Changement la BD 
            rstr.Partial = False ' Confermation de changement total de la BD nom seulement une partie
            Try
                If rstr.SqlVerify(srvr) Then ' Peration de verefication du sauvgarde avant de la restauration 
                    srvr.KillAllProcesses(NomBD_) '&#1575;&#1604;&#1576;&#1610;&#1575;&#1606;&#1575;&#1578;Arret de tous qui est un rapport avec la base de donne
                    srvr.DetachDatabase(NomBD_, True)  ' detachement de la base de doone
                    rstr.SqlRestore(srvr) ' commancent de la restauration
                End If
            Catch ex As Exception
                MessageBox.Show("Retauration Impossible verfier Bien le Sauvgarde" + vbCrLf + "Exception message :" + vbCrLf + vbTab + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
                bError = True
            End Try
            If Not bError Then MessageBox.Show("Restauration bien réussi", "Restauration " & NomBD_, MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    End Sub
End Class



je serai heureux c'est quelqu'un a essayer ces deux classe et m'envoyer les erreurs Trouve

Test

Dim s As New SauvgarderBD
Dim r As New RestaurerBD

'sauvgarder
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
s.NomBD = "SaveRestau"
s.EmplacementSauvgarder = "c:\lol"
s.NomBackup = "aminosssse"
s.SauvgarderBdComplet(Me)
End Sub

'restaurer
r.NomBD = "SaveRestau"
r.Restaurer(Me)




^_^

2 réponses

holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
23 janv. 2010 à 00:21
bonjour,
n'a essayer cette classe même si j'ai passer beaucoup du temps a la réalise ^_^
0
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
29 janv. 2010 à 21:19
bonjour,


aucun commentaire ?
0