If Dir(lblPathName.Text) = "" Then MsgBox("保存先のフォルダが見つかりません。フォルダ名を確認してください。") Exit Sub End If If MsgBox("データベースのバックアップを開始します。", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2, "") <> MsgBoxResult.Yes Then Exit Sub End If
Catch ex As System.Data.SqlClient.SqlException MsgBox("comGetNK01TBList Error!" & ControlChars.CrLf & ex.Message) Catch ex As Exception MsgBox(ex.Message) End Try End Sub
MSDEのバックアップ/リストアの方法に、SQLDMOを使えば簡単にできるそうだという情報を知り合いから聞き(ただ実際に試したことはないそうで)、試しているのですが、データベースサーバ以外の端末からバックアップを実行しようとしたら、
「バックアップデバイス”AAAA”を開けません」とエラーが表示されます。
サーバ上で実行すると、バックアップできました。
経験のある方、対処方法をお願いします。
以下のようにプログラムしています。
プログラム環境は、VB.NETです。
private sub cmdBackup()
Dim SvrObj As New SQLDMO.SQLServer
Dim BakObj As New SQLDMO.Backup
Dim mode As Integer
Dim strDataSource As String = "aaa"
Dim strUserId As String = "bbb"
Dim strPassword As String = "ccc"
Dim strBuff As New System.Text.StringBuilder
Try
'接続先をレジストリから取得する
SvrObj.LoginSecure = False
SvrObj.Connect(strDataSource, strUserId, strPassword)
If Dir(lblPathName.Text) = "" Then
MsgBox("保存先のフォルダが見つかりません。フォルダ名を確認してください。")
Exit Sub
End If
If MsgBox("データベースのバックアップを開始します。", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2, "") <> MsgBoxResult.Yes Then
Exit Sub
End If
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
BakObj.Database = "msdeDatabase"
BakObj.Files = "C:\Temp\SQLBackUP.BAK"
BakObj.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database
BakObj.SQLBackup(SvrObj)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
MsgBox("バックアップ処理は正常終了しました。")
SvrObj.Close()
SvrObj = Nothing
BakObj = Nothing
Me.Close()
Catch ex As System.Data.SqlClient.SqlException
MsgBox("comGetNK01TBList Error!" & ControlChars.CrLf & ex.Message)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub