Получение больших данных таблицы базы данных - PullRequest
0 голосов
/ 17 октября 2018

Я чувствую, что это глупый вопрос, но я искал пару дней и не нашел полезного ответа.

Я создаю программу на C # для пакетного задания, которая будет использоватьсячтобы синхронизировать две базы данных (1 Oracle (10g) и 1 SQL Server) при переходе к использованию базы данных SQL Server.

Мой вопрос заключается в том, как выполнить итерацию по всем записям в конкретной таблице базы данных.,Таблица (34 столбца) имеет около 200 тыс. Записей.Мой код ниже, кажется, извлекает только 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 столбца, так как это не имеет значения.

...