2

同じフラット ファイル接続マネージャーを再利用する必要がありますか、それとも、インポートするファイルごとに個別のフラット ファイル接続マネージャーを配置する必要がありますか?

説明:

構造が異なる 30 個の CSV ファイルがあり、これらのファイルを SQL Server データベースにインポートする必要があります。

現在、フラット ファイル ソースごとに個別のフラット ファイル接続マネージャーを使用しています。次に、OLEDB Destination を使用してデータを SQL Server データベースにプッシュします。

同じフラット ファイル接続マネージャーを再利用する必要がありますか?

私を案内してもらえますか - これを行う方法は? どのリンクも役に立ちます。

4

3 に答える 3

5

ファイル間で構造が異なるため、個別の接続を使用する必要があります。これにより、各ファイル タイプの列名、サイズ、およびデータ タイプを適切に定義できます。

于 2015-12-31T09:27:03.443 に答える
1

30 個のフラット ファイル接続を作成する代わりに、ファイル名の式を渡す Foreach ループ コンテナー内で 1 つを使用するだけです。

CSV ファイルが異なる形式であるという問題を解決するには、フラット ファイル接続を作成するときに、区切りの代わりに Ragged right を選択します。これにより、ファイル内の各行が、複数のフィールドではなく 1 つの非常に幅の広い列として扱われます (列を作成するようにしてください)。ファイルを処理するのに十分な幅)。

その後、フラット ファイル ソースの出力をスクリプト コンポーネントに送信できます。スクリプト コンポーネントには、ファイルを処理するためのすべてのロジックを配置できます。正規表現または分割を使用して各行をフィールドに変換すると、C# の全機能を使用して各行を処理できます。スクリプト コンポーネントは複数の出力を持つこともできるため、条件分割のように使用することもできます。

これは少し手間がかかるように思えるかもしれませんが (ファイルがどのようなもので、どのように処理しているかによって異なります)、最終的には可動部分が少なくなります。

于 2016-01-04T23:23:15.517 に答える