首页 新闻 会员 周边

用 DataReader 读取 1 千万条数据出现异常?

0
[已解决问题] 解决于 2018-12-13 10:25

要从 SQL Server 迁移一个表到 MongDB

该表有 1 千万条数据,使用 DataReader 的伪代码如下:

using (var connection = new SqlConnection(_connectionString))
{
    var command = new SqlCommand(@"SELECT * FROM dbo.table");
    connection.Open();
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        var item = reader.Output();
        _svc.Insert(item);
    }
}

在实际执行过程中,出现了超时,异常如下:

System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - Success)
蝌蝌的主页 蝌蝌 | 初学一级 | 园豆:158
提问于:2018-12-07 16:05
< >
分享
最佳答案
0

这个异常说明与数据库的 tcp 连接断了,详见 A transport-level error has occurred when sending the request to the server

奖励园豆:5
dudu | 高人七级 |园豆:30994 | 2018-12-07 17:06
其他回答(3)
0

建议不要一下读这么多,一部分一部分处理。

会长 | 园豆:12401 (专家六级) | 2018-12-07 16:11
0

count查询总数,然后分页读取

jqw2009 | 园豆:2439 (老鸟四级) | 2018-12-10 12:08
0

分页,然后经历吧*替换为具体字段可优化速度

鹅是码农 | 园豆:245 (菜鸟二级) | 2018-12-11 00:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册