holow1
Messages postés680Date d'inscriptionlundi 21 décembre 2009StatutMembreDernière intervention 7 décembre 2012
-
16 janv. 2010 à 23:54
holow1
Messages postés680Date d'inscriptionlundi 21 décembre 2009StatutMembreDerniè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_) 'البيانات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