- [DEVEXPRESS] Chia sẻ source code cách tạo biểu đồ sơ đồ tổ chức công ty Org Chart trên Winform C#
- [C#] Hướng dẫn tạo Auto Number trên Datagridview winform
- [DATABASE] Hướng dẫn tạo Procedure String Split in Mysql
- [C#] Thiết lập dấu (,) hay dấu (.) ở định dạng số đúng với định dạng số Việt Nam
- [C#] Chia sẻ source code Game Spin Lucky Wheel
- [C#] Hướng dẫn Encode and Decode HTML
- Danh sách tài khoản ChatGPT miễn phí - Hướng dẫn tạo tài khoản Chat Open AI GPT tại Việt Nam
- [C#] Hướng dẫn thay đổi giao diện ứng dụng Winform theo giao diện của Windows
- [VB.NET] Hiệu ứng Acrylic, Mica, Tabbed Blur Effect trên Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên Combobox Edit
- [C#] Chia sẻ source code Orange Rain in Winform
- [DEVEXPRESS] Hướng dẫn sử dụng HTML Template trên XtraMessageBox Winform Devexpress 22.2.3
- [DEVEXPRESS] Hướng dẫn sử dụng HTML and CSS Code Viewer trên Winform
- [C#] Number Effect Counter up and down in winform
- [C#] Hướng dẫn Supend and Resume Process ID in Winform
- [C#] Hiển thị line number trên Richtextbox Winform
- [C#] Fake Blue Screen BSOD in winform
- [C#] Chia sẽ code demo sử dụng Async Parallel Foreach and For in Winform
- [C#] Sử dụng ActionBlock run X task at time winform
- [C#] Hướng dẫn sử dụng Property Grid để lưu và tải lại thông tin cấu hình user trên winform
Ứng dụng backup database và nén vào một thư mục
Xin giới thiệu với các bạn công cụ backup database, nén dữ liệu và upload lên FTP Server hoặc sao chép trong mạng LAN bằng VB.NET
Được phát triển dựa theo bài viết của anh Thảo Meo Hướng dẫn Backup và nén Database Sqlserver và sau đó upload file lên FTP Server Bài viết này mình sẽ lấy ra danh sách tên các database trong server hiện có, sau đó chọn database và thực hiện backup. Đồng thời mình cũng chọn thư mục chứa để lưu bản backup vừa thực hiện.
Cách thực hiện:
Thiết kế một form bao gồm text box dùng để nhập tên server sql được cài đặt, một combobox chứa các database có trong server và nút lệnh thực thi truy vấn backup.
Nhấn F7 và code như sau:
Imports System.Data.SqlClient
Imports System.IO
Imports DevExpress.XtraSplashScreen
Public Class Form1
Private Sub btn_duyet_Click(sender As Object, e As EventArgs) Handles btn_duyet.Click
Dim folder_select As FolderBrowserDialog = New FolderBrowserDialog()
If folder_select.ShowDialog = DialogResult.OK Then
txt_folder_store.Text = folder_select.SelectedPath
dgv_show.DataSource = Directory.GetFiles(txt_folder_store.Text, "*.*")
End If
End Sub
Public Sub _Update(ByVal strLenh As String)
open_connect()
Dim d As String = "set dateformat dmy"
Dim cmd1 As New SqlCommand(d, strconnect)
cmd1.ExecuteNonQuery()
Dim cmd As New SqlCommand(strLenh, strconnect)
cmd.CommandTimeout = 0
cmd.ExecuteNonQuery()
close_connect()
End Sub
Public strconnect As New SqlConnection
Public Sub open_connect()
Try
strconnect.ConnectionString = "Server=" & Trim(txt_SQLserverName.Text) & ";Database=hob2016;Trusted_Connection=True;"
strconnect.Open()
Catch ex As Exception
End Try
End Sub
Public Sub close_connect()
strconnect.Close()
End Sub
Private Sub btn_backup_Click(sender As Object, e As EventArgs) Handles btn_backup.Click
If txt_folder_store.Text.Length > 0 And cbo_database.Text.Length > 0 Then
SplashScreenManager.ShowForm(GetType(SplashScreen1))
_Update("DECLARE @fname varchar(255) DECLARE @fname_backup varchar(255) DECLARE @fname_archive varchar(255) DECLARE @archive_path varchar(255) DECLARE @dbname varchar(255) DECLARE @archive_cmd varchar(255) DECLARE @put_cmd varchar(255) DECLARE @delFname_backup varchar(255) DECLARE @dir_taget varchar(255) DECLARE @copy VARCHAR(255) SET @dbname = '" & cbo_database.Text & "' SET @fname = @dbname + '_' + LTRIM(STR(DAY(GETDATE()))) + '.' + LTRIM(STR(MONTH(GETDATE()))) + '.' + LTRIM(STR(YEAR(GETDATE()))) + '_' + LTRIM(STR(DATEPART(HOUR,(GETDATE())))) + '.' + LTRIM(STR(DATEPART(MINUTE,(GETDATE())))) + '.' + LTRIM(STR(DATEPART(SECOND,(GETDATE())))) SET @archive_path = 'D:Backup' SET @fname_backup = @archive_path + @fname + '.BAK' SET @delFname_backup = 'del ' + @fname_backup SET @fname_archive = @archive_path + @fname + '.RAR' SET @archive_cmd = '""C:Program Files (x86)WinRARWinRAR.EXE"" a ' + @fname_archive + ' ' + @fname_backup SET @put_cmd = 'echo put ' + @fname_archive + '>> D:Backupftpcmds.txt' SET @dir_taget ='" & txt_folder_store.Text & "' + @fname + '.RAR' SET @copy='xcopy ' + @fname_archive + ' ' + @dir_taget +'*' PRINT @fname_backup PRINT @fname_archive BACKUP DATABASE @dbname TO DISK = @fname_backup WITH INIT EXEC xp_cmdshell @archive_cmd EXEC xp_cmdshell @delFname_backup exec xp_cmdshell @copy ") SplashScreenManager.CloseForm() dgv_show.DataSource = Directory.GetFiles(txt_folder_store.Text, "*.*")
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'load_servername()
txt_SQLserverName.Focus()
txt_SQLserverName.SelectAll()
End Sub
Private Sub btn_servername_Click(sender As Object, e As EventArgs) Handles btn_servername.Click
Try
open_connect()
Dim ds As New DataSet
Dim cmd As New SqlDataAdapter("select name from sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')", strconnect) ' lấy tất cả tên các database co torng server
cmd.Fill(ds)
close_connect()
cbo_database.Properties.DataSource = ds.Tables(0)
cbo_database.Properties.DisplayMember = "name"
cbo_database.Properties.ValueMember = "name"
strconnect.Close()
Catch ex As Exception
MessageBox.Show("Lỗi kết nối !")
End Try
End Sub
End Class
Đoạn code khá là thông dụng rồi, nên xin phép không làm mất thời gian của mọi người.
Source ngay đây download xuống là có thể xài nhá.
Nếu có gì thắc mắc vui lòng để lại coment !
Chúc vui !