1

こんにちは、動的ファイル名でファイルを読み取るにはどうすればよいですか? 私のデータベースにcsvデータをインポートするためのssis。

csv ファイルの命名規則は次のようになります: File-ddmmyyyyhhmmss.txt

誰でもアドバイスできますか?

4

3 に答える 3

1

フラット ファイルを宛先に動的にロードする手順。

  • 使用Foreach loop container
  • [コレクション] タブで、[列挙子] を選択しForeach File Enumerator、次のように構成します。

フォルダー: ソース ファイルの場所

Files : File-*.txt[ファイル名は File-ddmmyyyyhhmmss.txt のようなものであるため]

ファイル名の取得 : [Fully qualified Nameファイルの場所全体を取得する] を選択します。

ここに画像の説明を入力

  • Variable Mapping、変数を作成して を保存Full file path し、スクリーンショットに示すように構成します。

ここに画像の説明を入力

  • Flat file connectionサンプルファイルを使用して作成します。
  • フラット ファイルを選択し、 に進みますpropertiesexpression property 次のスクリーンショットに示すように、とを見つけますmap the variable to the connection stringここに画像の説明を入力

重要な注意点:

宛先テーブルにロードする前に、ファイル名とファイル名の存在を検証する場合。内でスクリプト コンポーネントを使用しFor each loop container、検証します。

お役に立てれば。

于 2013-01-29T11:11:50.430 に答える
0

ここにステップバイステップガイドがあります

  1. Foreach Loop Container(File Enumerator type)を使用し、 Files マスクを次のように設定しますFile-??????????????.txt
  2. 文字列変数をマップして、一致ファイルをキャプチャします。
  3. このコンテナ内に を追加してScript Task、文字列変数を解析し、実際のファイル命名規則に一致させます (ヒント: 正規表現を使用してください)。成功した一致は、Foreach Loop Container.
于 2013-01-29T09:12:16.703 に答える