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???
@=)