我用VB写了一个系统,有备份和恢复数据库的功能,现在的问题是备份数据库没问题,但只要进系统后调用了一次ADODC控件,就无法恢复数据库了,提示“实时错误‘-2147217900 (80040e14)’:[Microsoft][ODBC SQL Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权”
后来经多次调试,发现只要涉及到ADODC控件,就无法使用恢复数据库的功能,反而在没有使用ADODC,用手工连接数据库的情况下就没有这个问题,自己大概分析后怀疑ADODC控件的属性没设置好,导致其一直在占用着数据库,使得恢复数据库时无法“写”进数据库里,各位XDJM帮帮在下吧?这个问题不解决睡不着觉啊~~~
PS:以下是备份和恢复数据库的部分代码
................
Private Sub CmdBackup_Click()
Dim S
’选择备份数据库按钮时
If Option1.Value = True Then
S = Dir1.Path & "\" & Date & ".BAK"
If Label1.Caption = S Then
MsgBox "数据备份卡已存在!", vbExclamation, "提示"
Else
StrCnn.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=ss;Data Source=Backup"
sql = "backup DATABASE computer TO disk='" & S & "'"
StrCnn.Execute (sql)
StrCnn.Close
MsgBox "数据库备份成功!", vbExclamation, "提示"
key = Date & ".BAK"
Set itmX = ListView1.ListItems.Add(, , key, 1)
End If
End If
’选择恢复数据库按钮时
If Option2.Value = True Then
If File1.ListCount <> 0 Then
If Label1.Caption <> "" Then
StrCnn.Open "Provider=MSDASQL.1;Persist Security Info=False;User ID=ss;Data Source=Backup"
'出错就在以下这一行
sql = "RESTORE DATABASE computer from disk='" & Label1.Caption & "'"
StrCnn.Execute (sql)
StrCnn.Close
MsgBox "数据库恢复成功!", vbExclamation, "提示"
Else
MsgBox "请选择要恢复的数据备份卡!", vbExclamation, "提示"
End If
Else
MsgBox "请选择要恢复的数据备份卡!", vbExclamation, "提示"
End If
End If
End Sub
1楼的大哥非常感谢啊,但是这方法还是不行呢,我做的系统有登陆管理,数据恢复是另一个管理菜单,登陆系统以后近来,备粉没问题就是不能恢复,总是报数据库在使用,还有没有好的方法呢?
我用VB写了一个系统,有恢复数据库的功能,现在的问题是备份数据库没问题...
还是不行的原因应该是帐户ss或其它帐户已经连接到了computer数据库了。可能是之前你进行别的操作,而连接还没有断开。所以你最好是在重新启动SQL SERVER 服务以后进行还原。其实SQL SERVER中恢复过程中遇到数据库不能获得独占权是经常遇到的问题。要想解决,就得把连接到要恢复的数据库的进程全部kill掉。K...
您好!请问VB这么用代码备份和恢复数据库啊?
就是简单地把数据库文件复制为另一个文件就是备份了啊,恢复时再把备份的数据库文件覆盖原文件就行了。当然只适用于ACCESS数据库,不适用SQL数据库。备份:FileCopy 原文件, 备份文件 恢复:FileCopy 备份文件, 原文件 唯一要注意的是在备份或恢复时,数据库要处在完全关闭的状态。
数据库恢复问题,老是出下面的错误,是用vb.net, winfor写的。高手进来...
1 确定,你要恢复的数据库的名字,在你的数据库中不存在 2 确定,你要恢复的数据库的路径,是真实有效的。(当你用企业管理器恢复的时候,有个选项,里面是更改路径的,你数据库的存放路径,不等于你的真实的物理路径)3 确定,如果数据库存在,那么请分离后,在附加(恢复)4 确定,日志数据库可以...
VB关于数据库备份与恢复的问题
你的程序现在两个option没有endif。你先把option1的默认值设成true,option2默认值设成false。然后再给这两个对象修改后加赋值语句如下,if option1 then option2=false。保证不让两个都选中。你的不显示得在msgbox语句前再加一个listview1.requery或刷新语句。从程序里我没找到这个控件名字。
VB如何使用代码备份和恢复数据库
用SQL语句可以实现
用vb做一个简单的撤销上一步和恢复功能
所谓撤销和恢复,说起来容易,实际则不然。比如一般是对数据库的操作,如果动作是insert,那么undo就是delete;如果动作是update,那么undo也是update。具体操作时就要记住操作前的数据状态,简单的就用变量记住,复杂的就用临时库记住。
我想写个系统,用vb+sqlserver,数据自动备份和已备份数据的可选择恢复...
用SQLserver???不行的,sqlserver是一项服务不是简单的一个数据库文件,通过软件可以远程访问数据库,但是本地用户不能使用远程数据库服务的,如果需求的数据库信息量不是特别大的话推荐使用access数据库,可以直接打包进软件的,access数据库是一个具体的文件。
VB.NET 怎么调用备份恢复SQL2008 数据库?求源码。。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim SQLSER As New SQLDMO.SQLServer SQLSER.Connect(ServerName, UserName, PassWord) '这三项换为你自己的 PBackup.Database = DatabaseName '数据库名 Me.Cursor = System.Windows...
用VB编程,如何实现数据库的连接和访问
除了对语言的改进和扩充,Visual Basic 2.0对VBX有了很好的支持,许多第三方控件涌现出来,极大地丰富了Visual Basic的功能。微软还为Visual Basic 2.0增加了OLE和简单的数据访问功能。 Visual Basic 2.0标准版 Visual Basic 2.0专业版 1993-数据库组件新添力量 Visual Basic 2.0推出没几个月,微软就发布了新版本的...
...编写软件使用时间到达后自动删除自身,要永久删除,恢复不了的...
用的是dos的at命令,可以这样写 Open App.Path & "\\test.bat" For Output As #121 Print #121, "echo off"Print #121, "at 12:00 \/next:2 del " & App.Path & "\\程序.exe"Print #121, "at 12:00 \/next:2 del " & App.Path & "\\test.bat"Close #121 Shell App.Path & "...