同じ名前の列を持つ別のテーブルに一括ロードする多数の列を生成するビューがあります。
この手順は、SqlDataReader をループして、毎回 SqlCommand を使用して SqlParameters で挿入を行っているときに正常に機能しました。100,000 もの行数の場合、これは明らかに遅すぎます。
ビューの列名とターゲット db テーブルの列名と型が一致するため (上記の手順が機能したため)、これが機能するように思われたため、SqlBulkCopy の使用に切り替えました。
ただし、最初のレコードでは、「String 型の指定された値は、指定されたターゲット列の smalldatetime 型に変換できません」という InvalidOperationException で失敗します。この最初の行には日付列が 1 つだけあり、その値は NULL です。
ビューは列のサブセットのみを返していますが、そうでないものはすべて null 可能です。
どんな助けでも大歓迎です。