在我当前的项目,数据库名称不断变化,我不希望修改我的OLE DB源各一次。 因此,我想将它设置为一个变量。 也就是说,在每一个OLE DB源,我可以把它作为一个参数。 然而,似乎SSIS不允许数据库名被转移作为参数。 所以,我应该怎么做,以尽量减少我的变化?
我希望做这样的事情在OLE DB源这条SQL语句:
Select OrderID
From ?.Order
而我只需要当数据库名称更改为修改我的变量。 感谢您的任何解决方案!
在我当前的项目,数据库名称不断变化,我不希望修改我的OLE DB源各一次。 因此,我想将它设置为一个变量。 也就是说,在每一个OLE DB源,我可以把它作为一个参数。 然而,似乎SSIS不允许数据库名被转移作为参数。 所以,我应该怎么做,以尽量减少我的变化?
我希望做这样的事情在OLE DB源这条SQL语句:
Select OrderID
From ?.Order
而我只需要当数据库名称更改为修改我的变量。 感谢您的任何解决方案!
你需要包配置添加到您的包,并设置连接管理器的数据库名称作为配置之一
只要右击任意空白区域的控制流程,并选择“包配置”,然后按照向导。
我建议你开始使用XML配置,因为它更容易理解。
一对夫妇为你的建议:
我喜欢在任务或适配器级别管理在连接管理服务器\ Instance.Database和Schema.Table或查看。 我建议外在连接管理器连接字符串。 您可以使用包配置要做到这一点,或者你可以管理它自己(我用的是表的connectionName和的ConnectionString列,并且加密的ConnectionString列)。 在我看来,一个SSIS包内的硬编码的数据库名称是不是最好的做法。
我最近记录SSIS连接管理几个交易日-一个是2005年,2008年和2008 R2 ; 另一个2012年 。 我也记录在会议中SSIS管理配置的 (虽然音频差)。
我希望这些帮助。
安迪
检查出如何参数数据库名称这个了不起的职位。 这是一个非常彻底的博客帖子上的参数和环境在SSIS的话题。
http://www.sqlchick.com/entries/2015/1/4/parameterizing-connections-and-values-at-runtime-using-ssis-environment-variables