2012-05-08 152 views
5

在我当前的项目中,数据库名称不断变化,我不想每次修改我的OLE DB源。因此我想将其设置为一个变量。也就是说,在每个OLE DB源中,我可以将其用作参数。但是,似乎SSIS不允许将数据库名称作为参数传输。那么我该怎么做才能最大限度地减少我的变化如何在SSIS中将数据库名称设置为变量?

我希望做这样的事情在OLE DB源这条SQL语句:

Select OrderID 
    From ?.Order 

而我只需要当数据库名称更改为修改我的变量。 感谢您的任何解决方案!

回答

3

需要包配置添加到您的包,并设置连接管理器的数据库名称作为配置

enter image description here

之一

只需右键单击控件任意空白区域流程并选择“软件包配置”并按照向导进行操作。

我建议您先从XML配置开始,因为它更易于理解。

0

我喜欢在任务管理在连接管理服务器\ Instance.Database和Schema.Table或查看或适配器级别。我建议外部化连接管理器连接字符串。您可以使用程序包配置来执行此操作,也可以自己管理它(我使用带有ConnectionName和ConnectionString列的表,并对ConnectionString列进行加密)。在我看来,SSIS包内的硬编码数据库名称不是最佳实践。

我最近在SSIS Connections管理中记录了几个会话 - 一个用于2005, 2008, and 2008 R2; another for 2012。我还记录了一个会话managing configurations in SSIS(虽然音频很差)。

我希望这些帮助。

安迪

相关问题