2014-08-28 145 views
0

我正在尝试为单个包usinig项目部署设置部署过程,所以VS2012。我发现要更改服务器上的动态连接字符串,我可以参数化连接,所以我做了这个并创建了环境,并运行了包含连接字符串作为参数的invirment的包,但似乎都很好,但为什么在连接管理器上我仍然可以看到一些在开发过程中做的旧设置?我怎样才能删除它?SSIS参数化连接字符串

enter image description here

回答

2

通过参数化,我假设你正在使用的配置部分在全球范围内配置一个项目/包或在每个执行的基础。这与使用项目/包相反

我在部署文件夹中创建了一个名为ConnectionStrings的SSIS环境变量,它有两个值:ServerName和CatalogName。

我右键单击我的项目,DeployMe,然后选择配置。在你的屏幕截图中,你点击了特定的软件包并选择了配置。或者你手动更改了Scope下拉菜单。

enter image description here

我先点击References和指针添加到我的环境

enter image description here

回到Parameters标签,我点击到连接管理器,我要去配置CM_Project连接管理器的ServerName属性使用我的环境变量的ServerName值。明白吗?

enter image description here

配置服务器名称后,我还配置了InitialCatalog财产,但不是用我的环境变量的值,我用(上图)的“编辑值”选项来设置它。最终的结果是我的属性现在看起来像这样。

  1. 的下划线表明它是从变量
  2. 环境的粗体文字表明它是手动设置设置。

enter image description here

现在,当我去跑我的包,通过代理或手动执行,它会提示我要的第一件事情是一个环境的参考。我失去了对InitialCatalog的粗体,但下划线仍然是ServerName属性。无论如何,两者都是不同的价值观,我要执行它,他们会拿起正确的价值观。

enter image description here

所有这一切说,我觉得它更容易只是存储整个的ConnectionString值。您将观察到,如果采用此路线,ServerName显示的值将显示您的设计时间值,但这很好,因为ConnectionString整体将在运行时覆盖单个值。

我知道这是一个通用的答案,但我希望我已经击中了你失踪的步骤。