File 如何比较ssis中的两个平面文件?
TableOne.txt(txt文件) TableTwo.txt(txt文件) 现在我想比较这些平面文件。File 如何比较ssis中的两个平面文件?,file,ssis,compare,flat,File,Ssis,Compare,Flat,TableOne.txt(txt文件) TableTwo.txt(txt文件) 现在我想比较这些平面文件。 1.我希望表2文本文件库中不存在的所有数据都是LoadNumber,并且我希望表1文本文件库中不存在的所有数据都是LoadNumber1-通过平面文件源组件读取两个文本文件 2-按装载编号对其进行排序 3-连接到合并联接(联接类型:完全外部联接)并通过TableOne.LoadNumber-TableTwo.LoadNumber进行联接 4-基于ISNULL(tableXXXX.LoadN
1.我希望表2文本文件库中不存在的所有数据都是LoadNumber,并且我希望表1文本文件库中不存在的所有数据都是LoadNumber1-通过平面文件源组件读取两个文本文件 2-按装载编号对其进行排序 3-连接到合并联接(联接类型:完全外部联接)并通过TableOne.LoadNumber-TableTwo.LoadNumber进行联接 4-基于ISNULL(tableXXXX.LoadNumber)的条件拆分,例如,如果TableOne.LoadNumber为null,则表1中缺少
另一种方法是将两个平面文件加载到平面文件源中的SQL表中,并使用执行SQL任务连接这些表并获取数据 使SSIS工作流更简单,但显然需要2个SQL表 如果使用此方法,请不要忘记在开始时清除表。您可以在SSIS脚本任务中使用C#脚本来完成此操作。 参考:
谢谢,但我没有得到完整的数据…意味着LoadNumber、Name、Cost、Address…我只得到LoadNumber您需要确保非关键字段通过排序(即通过选中)和合并联接(合并中两个表的所有字段均已选中)传递谢谢,我知道了…但还有一个问题..我可以为两条记录创建一个数据集吗..您可以在条件拆分之后添加一个并集,您将在一行中使用6列(每个表3列)…ISNULL([one.LoadNumber])| | ISNULL([Two.LoadNumber])此条件..现在我获得了正确的数据..我可以使用此..还是不可以使用
LoadNumber Name Address
101 Yogesh ABC
102 Zebra XYZ
103 Kattle BTM
LoadNumber Cost EName
101 240 Yogesh
105 500 Kavita
110 340 Kamal
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();
}
}