問題を正しく理解している場合は、SSISを使用して、ある場所にあるすべてのファイルをSQL Serverにスイープしますか?
データフロータスク
データフロータスクは、データベースへのファイルの実際のインポートを担当します。あなたのアプローチは、 SSISを介してSQLにXMLファイルを挿入する際のvarbinaryデータのインポートプリティピクチャーバージョンで概説されているものと同じです。
ソースは、ソースコンポーネントとして動作するスクリプト変換コンポーネントになります。すべてのファイル名をデータフローに追加するのが仕事です。2番目のリンクのフィルターを*.png(またはフィルターが何であれ)に変更すると、機能するはずです。
生成されたファイル名で[列のインポート]コンポーネントを使用します。これにより、ファイルポインタがデータフローに追加され、データベースにインポートできるようになります。データ型がDT_IMAGEであることを確認する必要があります。varbinary(max)/ varchar(max)/ nvarchar(max)を使用している場合でも、パイプラインのメタデータのコンテキスト内ではすべてDT_IMAGEになります。
そのすべてのデータをターゲットテーブルにルーティングすると、ファイルデータがインポートされます。
ファイルのクリーンアップ
この時点で、このすべてのデータをインポートしたので、ディスクからファイルを削除します。ファイル名を画像ビットとともにデータベースに保存したとすると、SQL実行タスクを使用してファイル名のリストを取得します。出力タイプをNoneからFullResultSetに変更し、それをObjectタイプの変数に格納します。
Foreach列挙子をSQLタスクの出力に接続すると、ここで結果を「細断処理」する必要があります。その用語をグーグルで検索すると、これを行う方法に関するさまざまなブログ投稿や以前のSOの質問が見つかります。最終的には、ファイル名がレコードセットオブジェクトから取得され、ローカル変数に割り当てられます。
Foreach列挙子内で、ファイルシステムタスクを使用して、Foreach列挙子から変数セットで参照されているファイルを削除します。