如何使用变量来引用SSIS脚本中的行的列?

时间:2017-10-17 18:02:23

标签: ssis

编辑:我关闭此内容并再次发布更好的说明。

我将一些医疗诊断从平面文件加载到临时表中。每个诊断都有三个字段:Diagnosis_Code,Diagnosis_Date和Diagnosis_Type。该文件总共包含9个诊断,总共27个字段(Diagnosis01_Date,Diagnosis02_Date等)。登台表中的字段名称与文件中的字段名称匹配。

使用脚本组件,我需要对其中一些值执行函数,并希望在循环中执行它,而不是写相同的东西9次。如果我在VB中使用记录集,我会在Input0_ProcessInputRow子中写下这样的内容:

For i = 1 to 9
   row.("Diagnosis0"+ i +"_Date").Value = diagnosisDate 
next i 

但是连续的列不是一个集合,我找不到按名称引用它们的方法。有没有办法循环遍历列并在SSIS脚本中修改它们?

编辑:我想要做的是,在我的脚本组件中,替换这一系列重复的任务:。

row.Diagnosis01 = diagnosisDate
row.Diagnosis02 = diagnosisDate
....
row.Diagnosis09 = diagnosisDate

循环。

1 个答案:

答案 0 :(得分:1)

您可以使用String.Split来实现此目标,一次读取一行文件:

string line = row; // 'row' will be a line of data from your file

string[] fields = line.Split('|');

for (int i = 0; i < fields.Length; i++)
{
    // perform whatever logic you need to on fields[i]
}