Вы, вероятно, не можете сделать это, но если вы не можете, НЕ делайте этого с программой. Если у вас есть возможность поговорить с кем-то, кто контролирует исходный сервер, посмотрите, не настроит ли он какой-либо вид экспорта данных. Если данные настолько малы, как вы говорите, то вывод xml или csv будет в 100 раз лучше, чем запись чего-либо на c # (или любом другом языке).
Итак, давайте предположим, что они не могут экспортировать, тем не менее, избегайте написания программы. Вы говорите, что имеете больше контроля над пунктом назначения. Можете ли вы настроить пакет служб SSIS или настроить связанный сервер? Если это так, вам будет гораздо проще перенести данные.
Если вы установите исходный источник как связанный сервер, вы можете написать небольшой пакет t-sql для
TRUNCATE DestTable
INSERT INTO DestTable
ВЫБЕРИТЕ SourceTable.Star FROM [SourceServer]. [Схема]. [Таблица]
не так хорош, как SSIS (у вас есть более ясное представление о том, что происходит, но приведенный выше t-sql довольно ясен).
Поскольку я не выбрал бы маршрут программирования, лучшее решение, которое я мог бы дать вам, было бы, если бы вам абсолютно необходимо было:
Использовать пространство имен SqlClient.
Итак, создайте 2 SqlConnections, 2 SqlCommands и получите экземпляр 1 SqlReader.
Выполните итерацию в исходной программе чтения и выполните целевую вставку SqlCommand для каждой итерации с помощью.
Это будет некрасиво, но это сработает.