标题:[求助]第三次发贴请教关于SqlServer连接的问题
只看楼主
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
 问题点数:0 回复次数:15 
[求助]第三次发贴请教关于SqlServer连接的问题
在一个项目里面,我想实现数据库的恢复,但是总是显示“要恢复数据库正在使用”,代码肯定没有问题,找了半天也没找到哪个Connection没有Close,我想知道在整个项目里面哪里的SqlConnection没有Close,请问有什么办法吗?

[此贴子已经被作者于2006-11-21 11:28:15编辑过]


搜索更多相关主题的帖子: SqlServer 
2006-11-21 10:51
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
呵呵,没看我发的贴子啊。

2006-11-21 11:07
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 
恢复之前,use 其他数据库即可。

2006-11-21 11:08
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
得分:0 
以下是引用jockey在2006-11-21 11:08:09的发言:
恢复之前,use 其他数据库即可。

是,我是这样做的,我连到了别的数据库,但是还是这样。
在SQL2000查询分析器里面执行就OK~
所以我估计是哪里的Connection没关,但是又找不到,有没有办法找到?项目实在很大~


[glow=255,red,2]桃花坞里桃花庵,桃花庵里桃花仙;桃花仙人种桃树,又摘桃花换酒钱。[/glow]
2006-11-21 11:14
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
得分:0 

有一种杀死进程的,不过我没试,你参考一下:
SQLDMO.QueryResults qr = svr.EnumProcesses(-1); //取得了所有的进程列表
int iColPIDNum = -1;
int iColDbName = -1;
for (int i = 1; i <= qr.Columns; i++)
{
string strName = qr.get_ColumnName(i);
if (strName.ToUpper().Trim() == "SPID")
{
iColPIDNum = i;
iColDbName = i;
}
else if (strName.ToUpper().Trim() == "xrfdc")
{
iColDbName = i;
}
if (iColPIDNum != -1 && iColDbName != -1)
break;
}

for (int i = 1; i <= qr.Rows; i++) //杀死进程!!!找到和要恢复数据库相关的进程并杀死
{
int lPID = qr.GetColumnLong(i, iColPIDNum);
string strDBName = qr.GetColumnString(i, iColDbName); //出错!取进程名
if (strDBName.ToUpper() == strDbName.ToUpper())
svr.KillProcess(lPID);
}

svr.LoginSecure = false;//++


2006-11-21 11:16
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
得分:0 
恩, 这种使用SQLDMO杀掉进程的方法我也尝试过了~
但是,始终都是一样~
不知道是什么问题~~~~
现在就想知道到底哪里的Connection没有Close~
我郁闷呀~~~


[glow=255,red,2]桃花坞里桃花庵,桃花庵里桃花仙;桃花仙人种桃树,又摘桃花换酒钱。[/glow]
2006-11-21 11:20
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
自己去查看sqlserver 哪幾個用戶在使用 再分析

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-11-21 11:32
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
得分:0 
以下是引用chenjin145在2006-11-21 11:32:12的发言:
自己去查看sqlserver 哪幾個用戶在使用 再分析

肯定显示的是我在使用了呀~
可是我想知道我的项目在哪一块正在连着SQLServer。


[glow=255,red,2]桃花坞里桃花庵,桃花庵里桃花仙;桃花仙人种桃树,又摘桃花换酒钱。[/glow]
2006-11-21 11:35
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
只有你自己知道自己的項目

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-11-21 11:38
钱里病疯
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2006-11-19
得分:0 
http://bbs.bc-cn.net/viewthread.php?tid=102635

之前有个人才问过了~~~

2006-11-21 11:42



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




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

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