У меня есть несколько удаленных SQL-серверов, с которых мне нужно регулярно получать большой объем данных (скажем, 5 000 000 строк на сервер). Эти данные также должны быть отформатированы и отправлены по FTP на другой сервер. Коммутируемая часть в порядке, я могу подключиться и связаться с сервером, но иногда соединение медленное, может быть, только 19 Кбит / с.
После подключения я попытался использовать System.Data.SqlClient.SqlBulkCopy, но он просто выдает ошибку времени ожидания. Я установил время ожидания для массовой копии на 7200 секунд, а время ожидания для строк подключения к каждой базе данных - 900 секунд, но время ожидания все еще составляет около 30 секунд.
Я попытался использовать DataReader и запустить SqlCommand.ExecuteNonQuery () для вставки каждой строки, что работает нормально, но это медленно, а иногда соединение теряется.
Я также попытался настроить пакет DTS на удаленных серверах, запланировать их отправку данных, которые мне нужны, и затем попытался загрузить файлы. Но они могут составлять несколько сотен МБ (возможно, даже ГБ на некоторых серверах), и в какой-то момент удаленное соединение обычно прерывается.