connectsqlserver.vb

来自「SQL Server 业已成为最为流行的几大数据库之一」· VB 代码 · 共 102 行

VB
102
字号
Imports Microsoft.SqlServer.Management.Smo
Imports AccessServerWithSMO
Imports AccessServerWithSMO.RestoreForm

Public Class ConnectSqlServer
    Dim objServers As Data.DataTable
    Dim rowOfServers As DataRow
    Dim cServer As Server

    Dim cDatabase As New AccessServerWithSMO.AsscessDatabase

    Private Sub ConnectSqlServer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        objServers = SmoApplication.EnumAvailableSqlServers(False)

        For Each rowOfServers In objServers.Rows

            Dim ServerName As String
            ServerName = rowOfServers("Server").ToString

            If cbServerList.Items.IndexOf(ServerName) < 0 Then
                cbServerList.Items.Add(ServerName)
            End If
        Next

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        lbDbList.Items.Clear()
        Try
            cServer = New Server(cbServerList.Text.Trim)
            cServer.ConnectionContext.LoginSecure = False
            cServer.ConnectionContext.Login = "sa"
            cServer.ConnectionContext.Password = "19zhoulian7172"
            cServer.ConnectionContext.Connect()

            MsgBox("成功与指定服务器连接")
            Dim dbInServer As Database
            For Each dbInServer In cServer.Databases
                lbDbList.Items.Add(dbInServer.Name.ToString)
            Next
        Catch ex As SmoException

            MsgBox("连接数据库服务器错误--smo对象错误:" + ex.Message.ToString)

        Catch ex As Exception

            MsgBox("连接数据库服务器错误--smo对象错误:" + ex.Message.ToString)

        End Try
        

        
    End Sub

    Private Sub btTbInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btTbInfo.Click

        cDatabase.aDatabase = cServer.Databases(lbDbList.Text.Trim)
        cDatabase.aServer = cServer
        cDatabase.ShowDialog()

    End Sub

    Private Sub ConnectSqlServer_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed

        cDatabase = Nothing
        cServer = Nothing
    End Sub

    Private Sub btAddJop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAddJop.Click

        Dim JobForm As New AccessServerWithSMO.NewJobs
        JobForm.nserver = cServer
        JobForm.database = lbDbList.Text.Trim
        JobForm.ShowDialog()

    End Sub

    Private Sub btBackup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btBackup.Click

        If lbDbList.Text = "" Then
            Dim bkp As Backup = New Backup()
            bkp.Action = BackupActionType.Database
            bkp.Database = lbDbList.Text
            Dim Devices As String
            Devices = "D:\Sqldemo\" + lbDbList.Text + ".bak"
            Dim bdi As New BackupDeviceItem(Devices, DeviceType.File)
            bkp.Devices.Add(bdi)
            bkp.SqlBackup(cServer)
            MsgBox("备份完毕")
        End If

    End Sub

    Private Sub btRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btRestore.Click

        Dim mRestoreForm As New AccessServerWithSMO.RestoreForm
        mRestoreForm.rServer = cServer
        mRestoreForm.ShowDialog()
    End Sub
End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?