如何从SSIS包中检索SQL Server实例名称

时间:2014-01-22 07:16:56

标签: sql-server ssis sql-server-2012

从SQL Server 2012开始,SSIS可以部署到SSIS目录。在幕后,这个目录只是一个SQL Server数据库。

在我的一个软件包中,我目前有一个构成连接字符串的表达式。要设置与正确服务器实例的连接,连接管理器的连接字符串当前由以下表达式定义:

"Data Source=" + @[$Project::ServerInstance] + ";Initial Catalog=InitialCatalog;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"

因此,SQL Server实例由项目参数提供,而该项目参数又由环境变量填充。

这对我来说似乎没有必要:包存储在一个数据库中,该数据库已在SQL Server实例中运行。我只需要该特定实例的名称。是否可以在项目部署模式下从SSIS中访问该名称?

1 个答案:

答案 0 :(得分:1)

我有同样的问题,我没有找到通过原生SSIS方式获得该值的方法。

我的解决方案:我刚写了

Data Source=(local); 

此解决方案的缺点是您的开发计算机还必须拥有包含所有表的本地SQL Server数据库。

可能的替代解决方案:您可以使用Scrip Task和C#库获得一些东西。我从未想过这个,但我确信它有很大的潜力。