标题:[求助]备份sql数据库的问题
取消只看楼主
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
结帖率:33.33%
 问题点数:0 回复次数:19 
[求助]备份sql数据库的问题
出错了!什么原因啊!?



这是备份代码:
private void bakmdb()
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect("127.0.0.1", "sa", "");
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = "xrfdc";
oBackup.Files = @"C:\baksql.bak";
oBackup.BackupSetName = "bakname";
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}
}
搜索更多相关主题的帖子: 数据库 sql SQLDMO oSQLServer 
2006-11-13 16:11
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
[Microsoft][ODBC SQL Server Driver]TDS 缓冲区长度过大

什么意思啊?到底错在哪里?各位朋友帮忙啊!

2006-11-13 17:30
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
自己顶上去

2006-11-14 08:42
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 

感谢斑竹的回复!
备份现在没问题了!
可是恢复数据库又有问题了!


代码:
public bool RestoreDB(string strDbName,string filename, ProgressBar pgbMain)
{
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;
try
{
svr.Connect(Log_in.datasource,Log_in.Us_id,Log_in.Us_Pass);
SQLDMO.Restore res = new SQLDMO.RestoreClass() ;
res.Action = 0 ;
SQLDMO.RestoreSink_PercentCompleteEventHandler pceh = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);
res.PercentComplete += pceh;
res.Files = filename ;
res.Database = Log_in.DataBase;
res.ReplaceDatabase = true ;
res.SQLRestore(svr) ;
return true ;
}
catch(Exception err)
{
throw(new Exception("恢复数据库失败,请关闭所有和该数据库连接的程序!"+err.Message)) ;
}
finally
{
svr.DisConnect() ;

}


}


2006-11-14 14:00
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
“数据库正在使用,无法获得排它访问权”???

我到企业管理其中查看了一下各项进程,没有发现在使用该数据库的进程啊?究竟谁在使用?

2006-11-14 14:03
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
问题找到了!原来就是本地的程序在使用造成的!我到sql服务器上恢复也是提示一样的错误!
后来我把程序退了出去,再进行恢复就好了!

现在的问题是:本地程序什么地方使用了该数据库?我到sql服务器上也找不到相应的进程啊!

2006-11-14 14:34
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
是的斑竹!我用Sql server,我检查了一下程序,该关的都关了啊。

我一项一项测试,最后发现登陆成功进入主界面后,就不能恢复了。说明在这当中肯定还在使用数据库....

晕,我找不到啊!

能否有什么命令,无论连不连接,全把它们清除了啊!

2006-11-14 14:52
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
,看见你的等级:版主
威望:41
文章:8061



服务器如果关闭的话,程序便无法运行了。

我试过,如果在服务器上进行恢复的话,可以成功恢复,无需关闭服务器。

现在要命的是不用手工在服务器上进行恢复,而用程序控制恢复就不行了啊!

2006-11-14 15:06
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
哇!感谢斑竹哟!成功了!我把登陆放到其他数据库上就OK了!!!

非常感谢!!!!

2006-11-14 15:30
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
55555,又不行了。

登陆后直接去恢复好用了,但是只要运行别的Form,用到需要恢复的数据库后,恢复又不行了,又提示数据库正在使用,无法获得排它访问权

2006-11-14 23:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-102635-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.809219 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved