【发布时间】:2019-05-25 01:01:36
【问题描述】:
我们希望使用 SQL Server 表作为 SSIS 中所有连接管理器值的来源。我们更愿意在项目级别执行此操作,因为我们的许多连接已经在项目级别。我们希望能够在项目打开时根据输入值轻松切换我们正在查看的环境。我们需要这样做的原因是,在 dev 中创建项目时,我们使用的连接与将它们部署到 prod 时使用的连接不同,而且我们使用了数百个不同的连接。我们不想切换 SSIS 或 SQL Server 代理或 SSIS 目录中的任何内容。我们希望这些在 SQL Server 表中得到严格维护。
我们如何将这些值从 SQL Server 表馈送到提供值或参数的变量中?重申一下,最终产品将在 SQL Server 中有 1 个单表,其中包含所有列,如
[ConnectionString]、[InitialCatalog]、[UserName]、[UserName]、[Password]、[HeaderRowsToSkip]等。我们将参数化所有连接管理器这将从该表中提供它们的值。我们需要指导如何做到这一点。-
我希望能够将 PROD 和 DEV 包含在同一个表中,其中
[Environment]列的值为“Dev”或“Prod”,如果可能的话,我们希望有一个当项目在 SSIS 中打开时提示打开,询问我们想要哪个[Environment](可填写提示),然后根据我们输入的内容过滤 SQL 表中的结果以使用 Dev 或 Prod。
如果 2) 不可行,我们将只使用单独的表,这些表可以根据我们开发或部署的时间在连接管理器中手动切换。
【问题讨论】:
-
但是 SSDT 中的环境支持使用不同的服务器/数据库来进行连接。当 Visual Studio 中已经存在功能来完全满足您的需求时,为什么要将这些值(不安全地)存储在 SQL Server(不是动态的?)中?
-
另外,为什么您使用 SQL 身份验证而不是包的受信任连接?当您使用 SSDT 时,您显然是在 Windows 上,因此使用受信任的连接似乎是一个更好的主意。
-
我暂时离开了,但我建议您学习并尝试环境的工作原理。我根本看不出滚动您自己的环境管理系统有什么好处
-
你是什么意思避免从 Dev 到 prod 的工作量?在 Visual Studio 中配置好环境后,从工具栏的下拉菜单中选择 prod/dev 真的有那么难吗?如果是这样,那么没有任何东西可以帮助您。
-
@Larnu 这真的让我发笑。老实说,我不知道有“配置管理器”。在你和 Nick.McDermaid 建议环境之后,我开始研究它们。我刚刚找到了一篇文章,这正是我们正在寻找的。感谢你们的耐心和帮助!继续,将其放入答案中,我会将您标记为已回答。
标签: sql-server parameters ssis ssis-connection-manager