连接管理器表达式v脚本任务

时间:2015-05-30 10:54:19

标签: sql-server ssis

假设我在此网页中提供了动态连接管理器:http://sql-developers.blogspot.co.uk/2010/07/dynamic-database-connection-using-ssis.html

将连接字符串属性设置为连接管理器表达式和在脚本任务中设置连接字符串属性(如链接中)之间的区别是什么。每种方法都有利弊吗?

我今天早上花了一段时间用谷歌搜索,但我还没有找到答案。

1 个答案:

答案 0 :(得分:0)

我已经在SSIS包中应用了表达式和C#脚本任务中的连接字符串,如您提供的链接中所示。虽然大部分时间都在表达中。两者都有几个优点和缺点。

在“脚本任务”中设置连接字符串属性

优点:

  • 可以设置为更加自定义,以处理其他任务不支持的工作。 (例如,我必须应用此方法一次从Microsoft Project文件导入记录。由于这不是通常支持的源类型之一,我必须从头开始编程。)
  • 大部分工作都可以在一项任务中完成。

缺点:

  • 无法与脚本任务之外的其他任务轻松共享,即使其范围是在包级别。
  • 如果在凌晨2点出现问题并且您作为开发人员正在度假,则其他人难以排除故障。因此,请务必彻底记录您的代码。

在连接管理器的表达式中设置连接字符串

优点:

  • 更容易设置和排除故障。
  • 在不同任务之间的应用程序中更具动态性。例如,这是在每次循环传递时必须读取源时在ForEach循环中应用的最佳方法。
  • 更广泛地应用并在其应用程序中遵循标准格式。

缺点:

  • 不易应用于更多自定义要求。

我通常在表达式中应用连接字符串。设置起来比较容易,办公室里很少有人知道C#。只有在需要逐个基础时才应用更加自定义的方法。

希望这会有所帮助。我想起它们时,我可能会回到这里,有更多的优点和缺点。好问题。