sql数据库还原时的一个问题

chenhony 2003-04-08 04:28:03
看了以前的帖子,还是没解决。
主窗体和一个用于还原的窗体,共用一个connection对象cnn,
连接的数据库为test,
主窗体有一个recordset对象rs1,用于显示test的数据记录,
还原窗体加载时我用
cnn.close(这里应该已经断开了rs1与test的连接)
然后用cnn连接master数据库,用另一个recordset对象rs2
还原test,但出现错误为“数据库正在使用,无法获得数据库
的排他性使用权”。
不知道什么原因,会不会是因为cnn的OpenOptions参数或rs2的
CursorType, LockType设置?
...全文
39 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsgzsgzsg 2003-04-08
  • 打赏
  • 举报
回复
加rs1.close
chenhony 2003-04-08
  • 打赏
  • 举报
回复
考虑到数据安全,用单独的备份恢复程序似乎不太好,
我想在主程序里执行还原过程(因为启动主程序要
通过身份验证)。
我用了一种方法,在主程序选择还原时并不
立刻执行,只是将操作写入配置文件,下次启动时
检测配置文件,如果发现挂起到操作,就执行还原,
然后再打开数据库。
只是这样每次还原都要重启程序,哪位还有更好的方法?
网络老男孩了 2003-04-08
  • 打赏
  • 举报
回复
dim cn1 as adodb.connection
dim cn2 as adodb.connection
dim rs1 as adodb.recordset
dim rs2 as adodb.recordset
dim connectionstring1,connectionstring2,sqlstring1,sqlstring2 as string
cn1.open connectionstring1
cn2.open connectionstring2
rs1.open sqlstring1,cn1,1,1
rs2.open sqlstring2,cn2,1,1
fkh21l 2003-04-08
  • 打赏
  • 举报
回复
要确保程序里没有其它数据连接与数据库进行操作,最好我建议做两个工程,生成两个EXE文件,恢复数据库时把另一个EXE文件UNload,这样就不会出现什么问题了。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧