从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中访问该名称?
答案 0 :(得分:1)
我有同样的问题,我没有找到通过原生SSIS方式获得该值的方法。
我的解决方案:我刚写了
Data Source=(local);
此解决方案的缺点是您的开发计算机还必须拥有包含所有表的本地SQL Server数据库。
可能的替代解决方案:您可以使用Scrip Task和C#库获得一些东西。我从未想过这个,但我确信它有很大的潜力。