C#读取SQL 2000死锁问题,你有见到过吗?

refuly 2015-12-29 04:47:32
下面是一段数据导入代码,从SQL Server 2000导入到Oracle,SQL是老系统,不能动。
视图vwTpmpStudentStudy里面有不少代码,查询一次可能需要二十几秒钟,也是老系统的公司提供的,能用是能用,但是效率确实不高。

SqlDataReader reader = SqlGetReader("select * from vwTpmpStudentStudy", sqlConn);
while (reader.Read())
{
//视图里面大概有五十万条数据......
}


在数据导入过程中,经常出现提示:
System.Data.SqlClient.SqlException 与另一个进程被死锁在 thread 资源上,并且已被选作死锁牺牲品
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
refuly 2016-01-06
  • 打赏
  • 举报
回复
找到原因了,原来是因为服务器的SQL2000不支持那么多CPU,服务器上面有32个CPU核心,在SQL的企业管理器里面改成使用16个后问题自然消失了。
qq_33577510 2015-12-31
  • 打赏
  • 举报
回复
有谁做过这样的导入吗?给点建议好吗?
refuly 2015-12-31
  • 打赏
  • 举报
回复
视图数据是跨十几张表查询生成的结果,所以查询比较费时间,没有做索引。
飞天凤凰601 2015-12-29
  • 打赏
  • 举报
回复
数据有KEY和索引吗?
refuly 2015-12-29
  • 打赏
  • 举报
回复
实际的异常描述如下:

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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