检索大型数据库表数据

时间:2018-10-17 08:36:53

标签: c# database oracle data-migration

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

我正在构建一个批处理作业样式的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);
        }
    }

SqlConstants.AppUserFindAllSql:

SELECT
   *
FROM
   APP_USER 
ORDER BY
   USER_ID

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

0 个答案:

没有答案