我現在在客戶端備份服務器(xfp)上的數據庫(bl),以前我總是手工用sql的備份功能把數據庫備份在服務器上的e:\bak\bakdata(共享,客戶端對此目錄有讀寫功能)目錄下,
現在我(客戶端)想用程序備份數據庫(xx.bak) 到e:\bak\bakdata下出現'cannot open back device " \\xfp\bak\bakdata\xx.bak" .device error or device off-line.see the sql server error log for more details'錯誤,更奇怪的是如果我(客戶端)把數據庫備份在本機上的e:\,它竟然把數據庫備份到了服務器的e:\,
請問怎樣解決這個問題(怎樣才能把數據庫備份在服務器上的e:\bak\bakdata目錄下)
我把我的代碼摘錄如下,希望哪位大俠斧正
If MPB_ADOCN.State = adStateOpen Then MPB_ADOCN.Close
MPB_ADOCN.CommandTimeout = 300
MPB_ADOCN.ConnectionTimeout = 300
Dim sql As String
'Me.MousePointer = 11
With CommonDialog1
On Error GoTo trip:
.CancelError = True
.Filter = "(*.bak)|*.bak|All File|*.*"
.ShowOpen
End With
sql = "backup database db_mis to disk='" & CommonDialog1.FileName & "'"
MPB_ADOCN.Open "Driver={SQL Server};Server=xfp;UID=sa;DATABASE=bl"
MPB_ADOCN.BeginTrans
MPB_ADOCN.Execute sql
If ERR.Number = 0 Then
MPB_ADOCN.CommitTrans
MsgBox "數據庫備份成功!", vbInformation, "提示"
MsgBox "數據据備份文件存放路徑:" & CommonDialog1.FileName, vbOKOnly, "提示"
Unload Me
Else
MPB_ADOCN.RollbackTrans
MsgBox "數据庫備份失敗!請檢查數據据庫是否正在打開!", vbCritical, "提示"
End If
MPB_ADOCN.Close
Set MPB_ADOCN = Nothing
Me.MousePointer = 1
trip: Exit Sub
現在我(客戶端)想用程序備份數據庫(xx.bak) 到e:\bak\bakdata下出現'cannot open back device " \\xfp\bak\bakdata\xx.bak" .device error or device off-line.see the sql server error log for more details'錯誤,更奇怪的是如果我(客戶端)把數據庫備份在本機上的e:\,它竟然把數據庫備份到了服務器的e:\,
請問怎樣解決這個問題(怎樣才能把數據庫備份在服務器上的e:\bak\bakdata目錄下)
我把我的代碼摘錄如下,希望哪位大俠斧正
If MPB_ADOCN.State = adStateOpen Then MPB_ADOCN.Close
MPB_ADOCN.CommandTimeout = 300
MPB_ADOCN.ConnectionTimeout = 300
Dim sql As String
'Me.MousePointer = 11
With CommonDialog1
On Error GoTo trip:
.CancelError = True
.Filter = "(*.bak)|*.bak|All File|*.*"
.ShowOpen
End With
sql = "backup database db_mis to disk='" & CommonDialog1.FileName & "'"
MPB_ADOCN.Open "Driver={SQL Server};Server=xfp;UID=sa;DATABASE=bl"
MPB_ADOCN.BeginTrans
MPB_ADOCN.Execute sql
If ERR.Number = 0 Then
MPB_ADOCN.CommitTrans
MsgBox "數據庫備份成功!", vbInformation, "提示"
MsgBox "數據据備份文件存放路徑:" & CommonDialog1.FileName, vbOKOnly, "提示"
Unload Me
Else
MPB_ADOCN.RollbackTrans
MsgBox "數据庫備份失敗!請檢查數據据庫是否正在打開!", vbCritical, "提示"
End If
MPB_ADOCN.Close
Set MPB_ADOCN = Nothing
Me.MousePointer = 1
trip: Exit Sub
解决方案 »
- picture加载图片的方法问题 新手问题照顾哈
- vb操作两个access的问题(高分请教,高手解决,解决立即给分了---好久没发问了)
- active skins 4.3 显示不了绑定imagelist的toolbar中的图象,怎么办?
- 水晶报表9.0里怎么自己定义纸张的大小,,,
- 请教关于sendkeys发送汉字的问题.
- 请问如何关闭MDI窗体中的所有子窗体?
- 在VB中怎样打开一个指定的Word文档?关闭? 在线
- 帮忙!提点意见
- 在msdn中我看了一下午关于枚举的可就是不明白他到底在什么情况或者处理什么情况的时候用?
- 急、急急急 vb用mediaplay如何控制左、右声道
- XML文档的代码集是UTF-8,于是中文显示出了点问题??
- VB有位操作吗?怎么知道一个字节的某个位的值?
to disk=路径文件
这里的路径是针对服务器而言
备份时的文件是存放在服务器上的
如果你的服务器上没有e:\bak\bakdata这个路径那么就会出错
1、用 sp_addumpdevice 'disk', 'name',
DISK =path\name.bat
2、用 BACKUP DATABASE MyNwind TO name 能够
"全路径名称"必须是在数据库所在的机器里看到的路径,而不是在客户端看到的路径。
如客户端看到的"\\服務器名\bak\bakdate",必须改为服務器本地的路径。