0
私は複数の.csvファイルを1つのディレクトリに持っています。For Eachループコンテナ
私は、dirの各ファイルを循環するForEachループコンテナを作成しました。
問題は、私は、データベースへの挿入のcsvを持っており、ターゲット・データベース・テーブルは、foreachのコンテナが開始されるまでnullであり、ファイルパス文字列とするvar CurrentFileを埋めるSSISするvar tblNameによって定義されます。 この問題は、このvarが宣言されていないため、ヌルタイトルのテーブルを検索するときにOLDBC接続が機能しなくなるために発生します。
データベースとの接続を確立する前に、各ループを強制的に開始する方法はありますか?
が同じデータベーステーブルにファイルを各CSVの内容をインポートしている、またはあなたは、各CSVがそれぞれ持つ複数のデータベーステーブルにインポートしようとしている単一のテーブルにロードされている場合はfalse ValidateExternalメタデータオプションを試してみてくださいソースのCSVファイルと同じ名前ですか? – user3662215
ループの各パスでOLE DB接続マネージャの接続文字列値を動的に変更することもできます。つまり、最初にNULL以外のtblName変数の実際の値を定義します。次に、Connection Managerの[ConnectionSringの式]に適用します。式では、Catalog値をtblName変数に置き換えます。このようにして、ループの各パスでtblNameの値が変更されると、Connection Managerのカタログテーブル名が動的に変更されます。 – user3662215