2012-01-31 47 views
1

是否可以创建一个可以传递文件(通过变量)并通过变量确定要使用哪个数据流任务的SSIS包?创建SSIS包以从多个数据源中的一个导入

我希望能够做的是创建一个单独的DTSX包,它可以将文件名作为变量并检测(如果是Excel 2003,Excel 2007或CSV文件)从那里,执行正确的数据流任务。在导入数据后,我将在另一个数据流任务中处理结果。

我很久以前就使用了SSIS,我只是回来使用它,所以我的知识被锁定,并且会慢慢回来。我似乎无法记住(或在Google上找到)在控制流中创建条件分割的方法。

任何想法?

回答

1

正如HLGEM所指出的,只要内部结构一致,像这样的事情就足够了。

我已经声明了一个包级别变量DatFlowSelector,并且在我的初始脚本任务中,我会根据您要使用的FileName变量,使用逻辑来确定流程应采用的路径。

control flow

连线了预期的成果后,使用优先约束编辑器来确定计算结果为真走什么路。我的逻辑只是@[User::DataFlowSelector] == N,其中N映射到我的脚本分配的值。

当我修改约束条件时,我通常会将ShowAnnotation属性切换为“ConstraintOptions”,因为它可以让将来的维护人员立即清楚发生了什么。在这种情况下,SQL 2012将有所帮助,因为它将fx字形指定给连接器,但显示逻辑可以提供对声音逻辑的一目了然确认。

precedent constraint editor

1

我对控制流中的每个循环做了类似的操作。它检查了处理目录中的所有文件,并根据文件的名称将它们导向到正确的数据流(因为它们都是相同的文件类型但具有不同的内部结构)。

相关问题