0

テーブルに 3 つの csv ファイルをロードする必要があるシーンに取り組んでいます。この目的のために、3 つのフラット ファイル接続マネージャーを使用しています。

3 つのフラット ファイル接続マネージャーを使用する代わりに、3 つのファイルすべてに対して 1 つの接続マネージャーのみを使用する必要があります。

この目的で Multi File Connection Manger を使用できることを知りましたが、これはファイルに同じ列がある場合にのみ機能します。

1. 最初の CSV ファイルには、id、Rate、Amount、Total_Amt 列があります
2. 2 番目の CSV ファイルには、id、Rate、Amount、Total_Amt、Date、Debt 列があります
3. 3 番目の CSV ファイルには、id、Rate、Amount、Total_Amt、loss、Gain 列があります

このアプローチにマルチファイル接続マネージャーを使用するにはどうすればよいですか。

4

2 に答える 2

0

Sathya Narayanan Srinivasanが彼女の投稿で説明しているように、 OLEdbinsteatフラットファイルを使用してみることができます。

  1. 新しい接続マネージャーを作成します
  2. 新しいOledb接続を選択します
  3. プロバイダーをMicrosoftJet4.0Oledbプロバイダーとして選択します
  4. 左側の同じウィンドウでそれを選択すると、切り替えるための2つのタブが表示されます。1つはAll(接続のプロパティについて言及しています)で、もう1つは接続情報です。
  5. すべてを選択します。ExtendedPropertiesというプロパティが表示されます。
  6. その中に引用符なしでこれを貼り付けます: "text; HDR = Yes; FMT = Delimited"
  7. Modeと呼ばれる別のプロパティがあります。これは16(読み取り専用)に言及し、その読み取り/書き込みを19に変更する場合は。
  8. [接続]タブの[サーバーまたはファイル名]テキストボックスで、csvファイルのパスを指定します。csvファイル自体ではなく、フォルダ名までのみ指定してください。(例:ファイルがc:\ sathya \ contact.csvの場合は、c:\ sathyaとして指定します)
  9. また、モードを19、つまり読み取り/書き込みに変更した場合も、このOledb接続をOledbソースタスク、ルックアップタスク、およびOledb宛先タスクで使用できます。
  10. csvからフェッチするクエリを作成する場合、データソースとしてフォルダまでしか指定していないため、「select*fromcontact.csv」のようなクエリを作成する必要があります。

手順10を置き換えて、独自のクエリを作成します。

  1. yourFile.csvから、id、Rate、nullをAmount、Amount、Total_Amt、nullをDate、nullをDebtとして選択します。
  2. yourFile.csvからid、Rate、Amount、Total_Amt、Date、Debtを選択します
  3. すぐ

免責事項:テストされていません。

于 2012-06-18T07:50:33.027 に答える
0

できません; 複数ファイル接続マネージャーは、指定したファイルを効果的にループし、同じ設定を各ファイルに適用します。異なる設定が必要な場合は、個別の接続マネージャーを使用するか、独自の接続マネージャーを作成する必要があります (これはおそらく、3 つの個別の接続マネージャーのラッパーにすぎません)。

とにかく珍しい要件のように聞こえます。接続マネージャーが 1 つしかない理由は何ですか?

于 2012-06-18T07:45:44.850 に答える