大量のデータを定期的にプルする必要があるリモート SQL サーバーがいくつかあります (サーバーあたり 5,000,000 行など)。このデータもフォーマットして別のサーバーに FTP 送信する必要があります。ダイヤルアップ部分は問題なく、サーバーに接続して通信できますが、接続が遅く、19Kbps しかない場合があります。
接続したら、System.Data.SqlClient.SqlBulkCopy を使用しようとしましたが、タイムアウト エラーが発生するだけです。一括コピーのタイムアウトを 7200 秒に設定し、各データベースへの接続文字列のタイムアウトを 900 秒に設定しましたが、それでも約 30 秒でタイムアウトします。
DataReader を使用して SqlCommand.ExecuteNonQuery() を実行して各行を挿入しようとしましたが、これは正常に機能しますが、速度が遅く、接続が失われることがあります。
また、リモート サーバーに DTS パッケージをセットアップし、テキスト送信に必要なデータをダンプするようにスケジュールしてから、ファイルのダウンロードを試みました。ただし、数百 MB (一部のサーバーでは GB になることもあります) になる可能性があり、通常、ダイヤルアップ接続はある時点で切断されます。