将标量值函数集成到SSIS包中

时间:2011-09-12 17:07:56

标签: function ssis scalar

我有一个标量值函数,我创建它来计算老化,我想把它分开我每月运行的SSIS包。我该如何开展这项工作?

3 个答案:

答案 0 :(得分:1)

如果你的意思是你有一个t-sql函数,你想以某种方式在数据流中调用,那么这不是你实际可以做的事情。您有以下选择:

  1. 将函数写为SSIS表达式,并在派生列中进行计算。如果功能很复杂,这可能不太理想。

  2. 在脚本任务中编写函数并使用脚本转换。如果功能相对简单,但不易重复使用,则效果很好。

  3. 创建一个程序集,然后在脚本转换中引用该程序集。您还可以使用此底层代码在服务器上创建CLR函数。这使得管理代码变得更加容易,但实现起来需要更多的开销。

  4. 将数据加载到数据库中的临时表中,然后在尝试将数据合并到最终目标表时使用该函数。这种方法的好处是它最容易实现。这种方法的缺点是你必须将数据写入磁盘两次,因此与使用任何其他解决方案相比,你的性能肯定会更差。

答案 1 :(得分:0)

使用OLEDB命令转换,按照此处:

SSIS return value of Stored Procedure within an OLE DB Command

根据需要进行修改。

答案 2 :(得分:0)

我猜它是MS sql数据库中的标量函数。 在select语句的数据流源中的SQL命令中使用它。

Select dbo.myFunction(myParam)
From myTable