我遇到一个很奇怪的问题,我的程序以前都是备份到本地的,现在突然自动备份到服务器上去了.(服务器上的路径和程序在本地选择的路径一样).是怎么回事呢.我是想备份到本地电脑上的呀.sqlserver备份
Private Sub mnudatabackup_Click()
On Error GoTo ErrHandler Dim i As String
Dim SQLname As String
Dim iReturn As String
SQLname = Year(Now) & "年" & Month(Now) & "月" & "(QC).bak"
With CommonDialog1
.DialogTitle = "数据备份"
.FileName = SQLname
.Filter = "(数据库)*.bak|*.bak"
.CancelError = True
.ShowOpen
.InitDir = App.Path & "\Databackup"
End With
iReturn = fBackupDatabase_a(CommonDialog1.FileName, "jzd")
MsgBox iReturn
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
MsgBox "用户取消备份操作或备份过程中出现错误,备份失败!", 48, "提示"
Exit Sub
End Sub
Public Function fBackupDatabase_a(ByVal sBackUpfileName$ _
, ByVal sDataBaseName$ _
, Optional ByVal sIsAddBackup As Boolean = False _
) As String
Dim iDb As ADODB.Connection
Dim iConcStr$, iSql$, iReturn$
Dim uid, pwd, addr As String
On Error GoTo lbErr
'读取数据库相关信息
uid = sa
pwd = ""
addr = 13.1.1.50
'创建对象
Set iDb = New ADODB.Connection
'连接数据库服务器
iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & uid & ";password=" & pwd & ";Initial Catalog=jzd;Data Source=" & addr
iDb.Open iConcStr
'生成数据库备份语句
iSql = "backup database [" & sDataBaseName & "]" & vbCrLf & _
"to disk='" & sBackUpfileName & "'" & vbCrLf & _
"with description='" & "zj-backup at:" & Date & "(" & Time & ")'" & vbCrLf & _
IIf(sIsAddBackup, "", ",init")
iDb.Execute iSql
iReturn = "数据库备份成功!"
GoTo lbExit
lbErr:
iReturn = Error
lbExit:
fBackupDatabase_a = iReturn
End Function
Private Sub mnudatabackup_Click()
On Error GoTo ErrHandler Dim i As String
Dim SQLname As String
Dim iReturn As String
SQLname = Year(Now) & "年" & Month(Now) & "月" & "(QC).bak"
With CommonDialog1
.DialogTitle = "数据备份"
.FileName = SQLname
.Filter = "(数据库)*.bak|*.bak"
.CancelError = True
.ShowOpen
.InitDir = App.Path & "\Databackup"
End With
iReturn = fBackupDatabase_a(CommonDialog1.FileName, "jzd")
MsgBox iReturn
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
MsgBox "用户取消备份操作或备份过程中出现错误,备份失败!", 48, "提示"
Exit Sub
End Sub
Public Function fBackupDatabase_a(ByVal sBackUpfileName$ _
, ByVal sDataBaseName$ _
, Optional ByVal sIsAddBackup As Boolean = False _
) As String
Dim iDb As ADODB.Connection
Dim iConcStr$, iSql$, iReturn$
Dim uid, pwd, addr As String
On Error GoTo lbErr
'读取数据库相关信息
uid = sa
pwd = ""
addr = 13.1.1.50
'创建对象
Set iDb = New ADODB.Connection
'连接数据库服务器
iConcStr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & uid & ";password=" & pwd & ";Initial Catalog=jzd;Data Source=" & addr
iDb.Open iConcStr
'生成数据库备份语句
iSql = "backup database [" & sDataBaseName & "]" & vbCrLf & _
"to disk='" & sBackUpfileName & "'" & vbCrLf & _
"with description='" & "zj-backup at:" & Date & "(" & Time & ")'" & vbCrLf & _
IIf(sIsAddBackup, "", ",init")
iDb.Execute iSql
iReturn = "数据库备份成功!"
GoTo lbExit
lbErr:
iReturn = Error
lbExit:
fBackupDatabase_a = iReturn
End Function
有个方法是在SQL 系统上建个影射到自己本地的硬盘(如:Z:)
Z:是本地的一个共享区
在执行backup database语句到Z:
如果要备份到本地硬盘这样做肯定不行