2017-01-27 22 views
0

私は4つの異なるテキストファイルを持っています。私はこれらの4つのファイルを4つの異なる既存のテーブルに挿入または更新したい。したがって、これらの4つのファイルを読み込む方法をSSISで動的にそれぞれのテーブルに挿入してください。複数のテキストファイルを挿入

答えて

0

さて、あなたは、テーブル宛先(OLEDB先、おそらく)にフラット・ファイル・ソースからデータを移動するためにデータフロータスクを使用する必要があります。ファイル内の列は決して区切られていますか?たとえば、次のいずれかの場合:(;)、(|)などですか?そうであればFlatFileConnectionManagerを作成し、列を分割するように設定することができます。そうでない場合は、FixedWidthオプションを使用して列を区切る必要があります。 OLEDB宛先を使用するには、OLEDB connectionManagerを作成して、データベースのテーブルをポイントする必要があります。データを読みたいファイルに関する情報があれば、もっと助けてくれるかもしれません。

EDIT

さてあなたは、あなたがaswell 4つのOLEDB先(各フラットファイルについて、それぞれの1)と4フラット先sourcersを作成することができますので、あなたが、4つのファイルと4つのテーブルを使用していた開始時に言いました。私があなたを正しく理解していれば、これらの4つのファイルはまだ存在していても存在しなくてもよい。したがって、ファイルの名前を知っている場合は、Package Property DelayValidationをtrueに変更し、サンプルテキストファイルとの接続を作成します。これにより、ファイルパスが保存されます。私の意見ではテーブルは存在する必要があります。今、あなたが言ったとき:

フォルダ内にファイルがあるときはいつでも、すべてのテキストファイルをそれぞれの異なる既存のテーブルにロードしたいと思っています。

私はあなたが似た何かを行うことができます知っている唯一の方法は、SQL Serverエージェントのジョブで特定の時間にあなたのパッケージの実行をスケジュールすることです。これがあなたが探していたものかどうか教えてください。

+0

はいテキストファイルは区切られています。これらの区切られたテキストファイルを一度に別のテーブルにロードして、ファイルを差分ロケーション – Jason312

+0

@ Jason312に保存する単一のパッケージを作成したいとします。私が言ったように、データフロータスクを使用し、FlatFileSourceをドラッグしてconnectionMannagerを確立するだけで、OLEDBデスティネーションと同じことをする必要があります。私はあなたが挿入する4のいずれかと同じ列を持つテーブルを作成することをお勧めします。 [このチュートリアルは非常に便利です](https://katieandemil.academy/create-ssis-package-find-an-example-how-to-create-an-ssis-package-a-simple-one) – Mokz

+0

私はあなたの方法は単純なフラットファイル入力です。このプロジェクトの私の目的はプロセスを自動化することです。私はフォルダ内にファイルがあるときはいつでも、それぞれの異なる既存のテーブルにすべてのテキストファイルをロードしたい。たとえば、Aテーブルへのテキストファイル、BテーブルへのBテキストファイルなど。私はforeachloopを使用しようとしましたが、同じ宛先にしか行きません。ターゲットを動的にする方法とレコードの一部が複製されているため、これらのタスクに接続するためのルックアップ関数の使い方は? – Jason312