masoudcarpet
یک شنبه 06 دی 1388, 19:39 عصر
من برای Backup گرفتن از بانکی که هنگام استفاده از برنامه attach میشه از کد زیر استفاده کردم ولی نمیدونم چه جوری بازیابی کنم لطفا راهنمائی کنید.:متفکر:
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
PublicClass FrmBackUp
Dim path AsString
Private strsql AsString
Private con As SqlConnection
Private da As SqlDataAdapter
Private com As SqlCommand
Private ds As DataSet
Dim pc AsNew System.Globalization.PersianCalendar
PrivateSub UpdatePBar()
Dim x AsSingle
Dim y AsSingle
Dim percentage AsString = CType((ProgressBar1.Value / ProgressBar1.Maximum * 100), Integer).ToString & "%"
Dim gr As Graphics = Me.ProgressBar1.CreateGraphics
Dim sz As SizeF = gr.MeasureString(percentage, Me.ProgressBar1.Font, Me.ProgressBar1.Width)
x = (Me.ProgressBar1.Width / 2) - (sz.Width / 2)
y = (Me.ProgressBar1.Height / 2) - (sz.Height / 2)
gr.DrawString(percentage, ProgressBar1.Font, Brushes.Black, x, y)
EndSub
PublicSharedSub BackupDatabase(ByVal ConnectionStr AsString, ByVal DevicePath AsString, ByVal FileName AsString)
Dim DataName AsString = FileName
Using cnn AsNew SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon AsNew ServerConnection(cnn)
Dim Srv AsNew Server(Srvcon)
' Create backup device item for the backup
Dim bdi AsNew BackupDeviceItem(DataName, DeviceType.File) 'DevicePath &
' Create the backup informaton
Dim Backup AsNew Backup
Backup.Devices.Add(bdi)
With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
EndWith
EndUsing
EndSub
PrivateSub cmdPath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPath.Click
l.Text = ""
Timer1.Enabled = False
ProgressBar1.Value = 0
savefile.Filter = "Backup File (*.Bak)|*.bak"
SaveFile.ShowDialog()
txtPath.Text = SaveFile.FileName
'SaveFile.FileName
EndSub
PrivateSub FrmBackup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Timer1.Enabled = False
lang_EN()
Try
con = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" + My.Application.Info.DirectoryPath + "\data\Database1.mdf;Integrated Security=True;User Instance=True")
Catch ex As Exception
MessageBox.Show(ex.Message)
EndTry
EndSub
PrivateSub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click
If txtpath.Text = ""Then
MsgBox(" ", MsgBoxStyle.Critical + MsgBoxStyle.Critical, "")
l.Text = ""
cmdPath.Focus()
Else
Timer1.Enabled = True
path = txtpath.Text
BackupDatabase(con.ConnectionString, savefile.FileNames.ToString, savefile.FileName)
EndIf
EndSub
PrivateSub cmdBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBack.Click
lang_FA()
Me.Close()
EndSub
PublicSub lang_FA()
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))
EndSub
PublicSub lang_EN()
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("En"))
EndSub
PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value = ProgressBar1.Maximum Then
l.Text = " "
l.ForeColor = Color.Green
Else
l.Text = "... "
EndIf
If ProgressBar1.Value < ProgressBar1.Maximum Then
ProgressBar1.Value += 1
EndIf
UpdatePBar()
EndSub
EndClass
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
PublicClass FrmBackUp
Dim path AsString
Private strsql AsString
Private con As SqlConnection
Private da As SqlDataAdapter
Private com As SqlCommand
Private ds As DataSet
Dim pc AsNew System.Globalization.PersianCalendar
PrivateSub UpdatePBar()
Dim x AsSingle
Dim y AsSingle
Dim percentage AsString = CType((ProgressBar1.Value / ProgressBar1.Maximum * 100), Integer).ToString & "%"
Dim gr As Graphics = Me.ProgressBar1.CreateGraphics
Dim sz As SizeF = gr.MeasureString(percentage, Me.ProgressBar1.Font, Me.ProgressBar1.Width)
x = (Me.ProgressBar1.Width / 2) - (sz.Width / 2)
y = (Me.ProgressBar1.Height / 2) - (sz.Height / 2)
gr.DrawString(percentage, ProgressBar1.Font, Brushes.Black, x, y)
EndSub
PublicSharedSub BackupDatabase(ByVal ConnectionStr AsString, ByVal DevicePath AsString, ByVal FileName AsString)
Dim DataName AsString = FileName
Using cnn AsNew SqlConnection(ConnectionStr)
cnn.Open()
Dim Srvcon AsNew ServerConnection(cnn)
Dim Srv AsNew Server(Srvcon)
' Create backup device item for the backup
Dim bdi AsNew BackupDeviceItem(DataName, DeviceType.File) 'DevicePath &
' Create the backup informaton
Dim Backup AsNew Backup
Backup.Devices.Add(bdi)
With Backup
'Type Of Backup
.Action = BackupActionType.Database
.BackupSetDescription = "Backup DataBase"
.BackupSetName = "DB"
.Database = cnn.Database.ToString()
.LogTruncation = BackupTruncateLogType.Truncate
'Backup.ExpirationDate = New DateTime(2007, 5, 1)
' Run the backup
.SqlBackup(Srv)
EndWith
EndUsing
EndSub
PrivateSub cmdPath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPath.Click
l.Text = ""
Timer1.Enabled = False
ProgressBar1.Value = 0
savefile.Filter = "Backup File (*.Bak)|*.bak"
SaveFile.ShowDialog()
txtPath.Text = SaveFile.FileName
'SaveFile.FileName
EndSub
PrivateSub FrmBackup_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Timer1.Enabled = False
lang_EN()
Try
con = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" + My.Application.Info.DirectoryPath + "\data\Database1.mdf;Integrated Security=True;User Instance=True")
Catch ex As Exception
MessageBox.Show(ex.Message)
EndTry
EndSub
PrivateSub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click
If txtpath.Text = ""Then
MsgBox(" ", MsgBoxStyle.Critical + MsgBoxStyle.Critical, "")
l.Text = ""
cmdPath.Focus()
Else
Timer1.Enabled = True
path = txtpath.Text
BackupDatabase(con.ConnectionString, savefile.FileNames.ToString, savefile.FileName)
EndIf
EndSub
PrivateSub cmdBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBack.Click
lang_FA()
Me.Close()
EndSub
PublicSub lang_FA()
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))
EndSub
PublicSub lang_EN()
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("En"))
EndSub
PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value = ProgressBar1.Maximum Then
l.Text = " "
l.ForeColor = Color.Green
Else
l.Text = "... "
EndIf
If ProgressBar1.Value < ProgressBar1.Maximum Then
ProgressBar1.Value += 1
EndIf
UpdatePBar()
EndSub
EndClass