在SSIS中使用一个具有多个配置的程序包

时间:2014-01-10 14:29:35

标签: ssis package

我知道之前已经问过这个问题,而且我一直在研究使用具有多种配置的单个包。

这方面的一个例子可能是:包含FTP控件的包。

我们可能有两个或三个不同的FTP站点要连接,但我们只需要一个包。我正在寻找的是运行具有三种不同配置的包。

示例配置:
  - 用户名
  - 密码

在对配置表的使用进行一些研究之后,我仍然对标准配置表是否适用于SSIS(2008 R2)中的这种情况感到困惑。我发现我很困惑的文章是:

SSIS TABLE DRIVEN PACKAGE CONFIGURATIONS WITH ROW LEVEL FILTERING

如果我阅读这篇文章,其中一些是有意义的,但我仍然不完全确定我是否需要一个自定义解决方案来执行此操作。

我所追求的是:我正在设计一个三层架构(三层包)。

第一层将始终根据提供商的专有格式进行文件获取,文件准备和翻译为通用XML格式,无论它是什么。

第二层将采用通用格式并将其转换为“目标格式”,然后第三层将采用目标XML格式并将其插入数据库。

我的想法是可能使用表来配置第二层和第三层,并使用XML配置文件使顶层使用,因为它将根据提供程序进行更改。对此有任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

我高度推荐这本书及其中包含的包配置框架:

Microsoft SQL Server 2008集成服务:问题,设计,解决方案

ISBN: 978-0-470-52576-0

对我来说,本书通过易于理解的逐步设置和示例,揭开了包装配置的所有神秘面纱。它提供了一个强大的开端到终端解决方案,我能够在不到一天的时间内实现。 Code download link here.

作者非常出色地将您的包配置理论和实际设置作为其更大的包管理框架的一部分。

我想建议你制作一个“模板包”来构建所有其他包。该模板已包含所有SSIS PDS好东西,因此您只需构建一次。

最有用的功能之一是他们的包配置方法,它将所有配置存储在sql server中的一个表中,并显示您必须在系统,应用程序和包级别访问这些,以获得我发现的分层配置方法对于我认为你正在描述的情况最有用。

将一般配置设置为模板包的一部分,然后根据需要从那里进行调整,这为我节省了数百小时的开发时间。

不要急于解决这个问题,但我发现它对于用户名和密码配置特别有用,因为这些是本书中的两个核心示例。使用用户名和密码同时配置程序包同时为这两个关键数据提供足够的安全级别可能有点棘手。

例如:如果您对保持用户名和密码安全感兴趣,那么您几乎不会只想将这些存储在包范围的变量中。本书向您展示如何添加用户名和密码作为配置,保证它们的安全性,以及如何轻松地使它们保持最新。

虽然希望您的软件包在生产中运行(至少),但您使用的是密码永不过期的服务帐户(更有理由保证这些凭据的安全性),而不是您自己的用户凭据。