0

TableOne.txt (txt ファイル)

LoadNumber  Name    Address
101         Yogesh  ABC
102         Zebra   XYZ
103         Kattle  BTM

TableTwo.txt (txt ファイル)

LoadNumber  Cost    EName
101         240     Yogesh
105         500     Kavita
110         340     Kamal

次に、これらのフラット ファイルを比較します。1. テーブル 2 のテキスト ファイル ベースに存在しないすべてのデータを LoadNumber にしたいし、テーブル 1 のテキスト ファイル ベースに存在しないすべてのデータを LoadNumber にしたい

4

3 に答える 3

1

これは、SSIS スクリプト タスクの C# スクリプトで実行できます。参照: http://www.java2s.com/Code/CSharp/File-Stream/Comparetwofiles.htm

using System; 
using System.IO;  

public class CompFiles {  
  public static void Main(string[] args) {  
    int i=0, j=0;  
    FileStream f1;  
    FileStream f2;  

    try {  
      // open first file 
      try {  
        f1 = new FileStream(args[0], FileMode.Open);  
      } catch(FileNotFoundException exc) {  
        Console.WriteLine(exc.Message);  
        return;  
      }  

      // open second file  
      try {  
        f2 = new FileStream(args[1], FileMode.Open);  
      } catch(FileNotFoundException exc) {  
        Console.WriteLine(exc.Message);  
        return;  
      }  
    } catch(IndexOutOfRangeException exc) {  
      Console.WriteLine(exc.Message + "\nUsage: CompFile f1 f2");  
      return;  
    }  

    // Compare files  
    try {  
      do {  
        i = f1.ReadByte();  
        j = f2.ReadByte();  
        if(i != j) break; 
      } while(i != -1 && j != -1);  
    } catch(IOException exc) {  
      Console.WriteLine(exc.Message);  
    }  
    if(i != j)  
      Console.WriteLine("Files differ."); 
    else 
      Console.WriteLine("Files are the same."); 

    f1.Close();  
    f2.Close();  
  }  
}
于 2014-01-17T09:10:29.803 に答える
1

1-フラット ファイル ソースコンポーネントを介して両方のテキスト ファイルを読み取る

2- LoadNumber で並べ替える

3- Merge Joinコンポーネント (結合タイプ: 完全外部結合) に接続し、TableOne.LoadNumber - TableTwo.LoadNumber で結合します。

4- ISNULL(tableXXXX.LoadNumber) に基づく条件付き分割。たとえば、TableOne.LoadNumber が null の場合、table1 にない

ここに画像の説明を入力

于 2014-01-17T08:36:31.160 に答える