代码之家  ›  专栏  ›  技术社区  ›  Ben

检索大型数据库表数据

  •  1
  • Ben  · 技术社区  · 7 年前

    我觉得这是一个愚蠢的问题,但我已经寻找了几天,我没有找到一个有用的答案。

    我正在构建一个批处理作业风格的C#程序,当我们过渡到使用SQL Server数据库时,它将用于保持两个数据库(1个Oracle(10g)和1个SQL Server)的同步。

    我的问题是如何迭代特定数据库表中的所有记录。这个表(34列)有大约20万条记录。我下面的代码似乎只检索到74条记录(我想这是某种内存限制?)如何处理这74条记录,然后迭代下一个74条记录?我似乎找不到任何程序来做这件事?这让我觉得很奇怪,因为人们总是遇到这种问题。

    代码:

        using (OracleConnection OraCon = new OracleConnection(ConfigurationManager.ConnectionStrings["sourceDatabase"].ConnectionString))
        {
            var command = new OracleCommand(SqlConstants.AppUserFindAllSql, OraCon)
            {
                CommandType = CommandType.Text
            };
    
            var dataTable = new DataTable("AppUser");
    
            OraCon.Open();
    
            using (var oracleReader = command.ExecuteReader())
            {
                dataTable.Load(oracleReader);
            }
        }
    

    SELECT
       *
    FROM
       APP_USER 
    ORDER BY
       USER_ID
    

    请注意,它在查询中实际上不是'*',但列出所有34列是没有意义的,因为它不相关。

    0 回复  |  直到 7 年前