1

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

在此处输入图像描述

4

1 回答 1

3

通过 Parameterize,我假设您正在使用 Configuration 部分来全局配置项目/包或基于每个执行。这与使用项目/包参数相反

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

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

在此处输入图像描述

我首先单击References并添加指向我的环境的指针

在此处输入图像描述

返回Parameters选项卡,我单击连接管理器,我将配置CM_Project连接管理器的 ServerName 属性以使用我的环境变量的 ServerName 值。清楚对吗?

在此处输入图像描述

配置 ServerName 后,我还配置了InitialCatalog属性,但我没有使用环境变量的值,而是使用“编辑值”选项(如上)来设置它。最终结果是我的属性现在看起来像这样。

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

在此处输入图像描述

现在,当我通过代理或手动执行运行我的包时,它会提示我的第一件事是环境参考。我已经失去了 InitialCatalog 的粗体,但下划线仍然是 ServerName 属性。尽管如此,两者都是不同的值,如果我执行它,他们会选择正确的值。

在此处输入图像描述

尽管如此,我发现只存储整个 ConnectionString 值要容易得多。如果您采用这条路线,您将观察到,为 ServerName 显示的值将显示您的设计时值,但这很好,因为 ConnectionString 作为一个整体将在运行时覆盖各个值。

我知道这是一个通用的答案,但我希望我已经逐步了解您所缺少的内容。

于 2014-08-28T14:38:50.777 回答