VB .Net (VisualStudio 2005) and the SQL Server SMO Object question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Catadmin

    #1

    VB .Net (VisualStudio 2005) and the SQL Server SMO Object question

    I was told to post this in one of the dotnet groups. I hope this is the
    correct one.


    Several months ago, I took the official Microsoft 2733B course to upgrade my
    skills from SQL 2000 to SQL 2005 and one of the neat things the course did
    was show us how to create an SMO object which backs up a database at the
    click of a button. Now that we're finally moving to SQL Server 2005 at work,
    I went to whip up this little program following the instructions at work, but
    I'm having a problem.

    When I create this project from scratch, it gives me the error: Name
    "DatabaseLi st" is not declared. This is really strange as when I pull up the
    sample solution from the CD we got, everything is almost exact the same,
    including the IMPORTS. Can someone help me figure out what I'm missing that
    VS thinks "DatabaseLi st" is a variable instead of a real object? Form is
    simple, 1 textbox and 1 button. Code is listed below:


    '##### Add imports statements here #####
    Imports Microsoft.SqlSe rver.Management .Smo
    Imports Microsoft.SqlSe rver.Management .Common

    Public Class DBBackupForm

    '##### Add variable declarations here”
    Dim myServer As New Server()
    Dim conn As ServerConnectio n


    Private Sub BackupDatabaseB utton_Click(ByV al sender As System.Object,
    ByVal e As System.EventArg s) Handles BackupDatabaseB utton.Click
    ' If no database is selected, exit this event handler
    If DatabaseList.Se lectedIndex = -1 Then Exit Sub

    '##### Add backup code here #####
    Dim dbName As String = DatabaseList.Se lectedItem.ToSt ring
    Dim MyBackup As New Backup
    Dim ProcessDate As Date
    ProcessDate = Now()
    Dim BackupTime As String


    BackupTime = ProcessDate.ToS tring("YYYY") &
    ProcessDate.ToS tring("MM") _
    & ProcessDate.ToS tring("DD") & ProcessDate.ToS tring("HH") _
    & ProcessDate.ToS tring("MM")

    MyBackup.Action = BackupActionTyp e.Database
    MyBackup.Backup SetName = dbName & "Backup"
    MyBackup.Databa se = dbName
    Dim MyDevice As BackupDeviceIte m = New BackupDeviceIte m( _
    "\\MyServerName \SQL_BAK\" & dbName & BackupTime & ".BAK",
    DeviceType.File )

    MyBackup.Device s.Add(MyDevice)

    MyBackup.SqlBac kup(myServer)

    MessageBox.Show (dbName & " backed up in the SQL_BAK folder with the
    following FileName: " _
    & CStr("\\MyServe rName\SQL_BAK\" & dbName & BackupTime & ".BAK"))
    End Sub

    Private Sub DatabaseListTex tBox_TextChange d(ByVal sender As
    System.Object, ByVal e As System.EventArg s) Handles
    DatabaseListTex tBox.TextChange d

    '##### Add connection code here #####
    conn = myServer.Connec tionContext
    conn.ServerInst ance = "localhost"
    conn.Connect()

    '##### Add list database code here #####
    Dim db As Database
    For Each db In myServer.Databa ses
    DatabaseList.It ems.Add(db.Name )
    Next

    End Sub
    End Class

    ------------------------------

    Thanks for any help anyone can give me.

    Catadmin
    --
    MCDBA, MCSA
    Random Thoughts: If a person is Microsoft Certified, does that mean that
    Microsoft pays the bills for the funny white jackets that tie in the back???
    @=)
  • GhostInAK

    #2
    Re: VB .Net (VisualStudio 2005) and the SQL Server SMO Object question

    Hello Catadmin,

    That's what ya get for copy n pastin stuff without understanding it.

    First, you say there is only one textbox and one button on your form. Fine..
    then what is DatabaseList?? I see you trying to mess with DatabaseList.Se lectedIndex..
    Neither the textbox nor the button have this property.. a combobox does
    (as do other list-based controls). Next, I see a TextChanged event handler
    for something called DatabaseListTex tBox.. which I assume is the afore mentioned
    textbox.

    My guess is you make your UI with a button and a textbox.. did a lil copy
    paste action because yer too damn lazy to be bothered doing something right..
    got the name of the control wrong.. and in fact got the control type wrong..
    and now yer pissin and moanin to us, wasting our time. Quit bein a lazy
    bastard.

    -Boo
    I was told to post this in one of the dotnet groups. I hope this is
    the correct one.
    >
    Several months ago, I took the official Microsoft 2733B course to
    upgrade my skills from SQL 2000 to SQL 2005 and one of the neat things
    the course did was show us how to create an SMO object which backs up
    a database at the click of a button. Now that we're finally moving to
    SQL Server 2005 at work, I went to whip up this little program
    following the instructions at work, but I'm having a problem.
    >
    When I create this project from scratch, it gives me the error: Name
    "DatabaseLi st" is not declared. This is really strange as when I pull
    up the sample solution from the CD we got, everything is almost exact
    the same, including the IMPORTS. Can someone help me figure out what
    I'm missing that VS thinks "DatabaseLi st" is a variable instead of a
    real object? Form is simple, 1 textbox and 1 button. Code is listed
    below:
    >
    '##### Add imports statements here #####
    Imports Microsoft.SqlSe rver.Management .Smo
    Imports Microsoft.SqlSe rver.Management .Common
    Public Class DBBackupForm
    >
    '##### Add variable declarations here”
    Dim myServer As New Server()
    Dim conn As ServerConnectio n
    Private Sub BackupDatabaseB utton_Click(ByV al sender As
    System.Object,
    ByVal e As System.EventArg s) Handles BackupDatabaseB utton.Click
    ' If no database is selected, exit this event handler
    If DatabaseList.Se lectedIndex = -1 Then Exit Sub
    '##### Add backup code here #####
    Dim dbName As String = DatabaseList.Se lectedItem.ToSt ring
    Dim MyBackup As New Backup
    Dim ProcessDate As Date
    ProcessDate = Now()
    Dim BackupTime As String
    BackupTime = ProcessDate.ToS tring("YYYY") &
    ProcessDate.ToS tring("MM") _
    & ProcessDate.ToS tring("DD") & ProcessDate.ToS tring("HH") _
    & ProcessDate.ToS tring("MM")
    MyBackup.Action = BackupActionTyp e.Database
    MyBackup.Backup SetName = dbName & "Backup"
    MyBackup.Databa se = dbName
    Dim MyDevice As BackupDeviceIte m = New BackupDeviceIte m( _
    "\\MyServerName \SQL_BAK\" & dbName & BackupTime & ".BAK",
    DeviceType.File )
    MyBackup.Device s.Add(MyDevice)
    >
    MyBackup.SqlBac kup(myServer)
    >
    MessageBox.Show (dbName & " backed up in the SQL_BAK folder
    with the
    following FileName: " _
    & CStr("\\MyServe rName\SQL_BAK\" & dbName & BackupTime &
    ".BAK"))
    End Sub
    Private Sub DatabaseListTex tBox_TextChange d(ByVal sender As
    System.Object, ByVal e As System.EventArg s) Handles
    DatabaseListTex tBox.TextChange d
    >
    '##### Add connection code here #####
    conn = myServer.Connec tionContext
    conn.ServerInst ance = "localhost"
    conn.Connect()
    '##### Add list database code here #####
    Dim db As Database
    For Each db In myServer.Databa ses
    DatabaseList.It ems.Add(db.Name )
    Next
    End Sub
    End Class
    ------------------------------
    >
    Thanks for any help anyone can give me.
    >
    Catadmin
    >

    Comment

    Working...