首页 > 解决方案 > 使用 SQL Server 数据库表配置 SSIS 项目参数和变量

问题描述

我们希望使用 SQL Server 表作为 SSIS 中所有连接管理器值的源。我们更愿意在项目级别执行此操作,因为我们的许多连接已经在项目级别。我们希望能够在项目打开时根据输入值轻松切换我们正在查看的环境。我们需要这样做的原因是,在 dev 中创建项目时,我们使用的连接与将它们部署到 prod 时使用的连接不同,而且我们使用了数百个不同的连接。我们不想切换 SSIS 或 SQL Server 代理或 SSIS 目录中的任何内容。我们希望这些在 SQL Server 表中得到严格维护。

  1. 我们如何将这些值从 SQL Server 表馈送到提供值或参数的变量中?重申一下,最终产品将在 SQL Server 中有 1 个包含所有列(如[ConnectionString][InitialCatalog][UserName][UserName][Password]等)的单个表[HeaderRowsToSkip]。我们将参数化所有连接管理器,这些连接管理器的值将从该表中提供。我们需要指导如何做到这一点。

  2. 我希望能够在同一个表中同时包含 PROD 和 DEV,其[Environment]列的值为“Dev”或“Prod”,如果可能,我们希望在 SSIS 中打开项目时打开提示询问[Environment]我们想要哪个(可填写的提示),然后根据我们输入的内容过滤 SQL 表中的结果以使用 Dev 或 Prod。

如果 2) 不可能,我们将只使用单独的表,这些表可以根据我们开发或部署的时间在连接管理器中手动切换。

标签: sql-serverparametersssisssis-connection-manager

解决方案


这听起来和“SSIS 目录中的环境变量”完全一样!

SSIS 目录中的“环境”类似于参数的配置文件,在您的情况下,您可以创建 Prod/Dev 环境,并将其中的变量映射到项目级参数,这些参数映射到项目级连接管理器。

参考: 在 SQL Server Integration Services 中设置环境变量 使用 SSIS 目录创建强大的 SSIS 开发环境


推荐阅读