我是 SSIS 的新手,但是我正在尝试做一些我认为应该是 SSIS 非常简单的用例的事情,但我似乎找不到解决方案。
长话短说,我试图让两个 SSIS 环境(例如,DEV1 和 DEV2)在同一台 PC 上独立运行。有时我必须在同一时间框架内进行持续的开发工作和紧急错误修复。
出于这个原因,使用系统环境变量来保存数据库连接字符串之类的东西是行不通的,因为 DEV1 和 DEV2 指向他们自己的数据库,每个数据库都有自己的连接字符串(我不想手动设置环境变量因为这很容易出错)。
此外,另一个要求是我需要在我的 DEV1 和 DEV2 环境之间自由复制包,而不必编辑包来重置包变量等(例如,一些变量包含指向相应环境的数据文件/文件夹的路径)。
我们在开发环境中使用 SQL Server/BIDS 2008 R2...
我尝试过但没有成功的事情:
(1) XML 配置文件 - XML 文件的路径是硬编码的,所以当我将使用 XML 配置文件的包从 DEV1 复制到 DEV2 时,DEV1 XML 文件在 DEV2 环境中使用 - 不好!
(2) SQL Server 配置 - SQL Server 配置表的连接字符串也被硬编码到包中,所以再一次,将使用 DB 配置的包复制到其他环境会导致使用错误的配置 - 再次,不好!
(3) 我尝试使用带有 /CONFIG 和 /COMMAND 标志的批处理文件来为包变量赋值,结果发现在 2008 R2 中,设计时变量会覆盖命令行参数 - 令人困惑!
(4) 我什至尝试使用我想要使用的环境值创建一个平面文本文件,并尝试使用基本 C# 代码读取该文件,但除非我指定绝对路径,否则即使这样也行不通,这会破坏能够在环境之间复制包而无需编辑包变量值的目的。排除绝对路径会导致异常“System.IO.FileNotFoundException:找不到文件'C:\ Documents and Settings\\DBConfiguration.txt'” - 所以基本上,仍然难倒!
在过去的几个小时里我一直在做这个,所以我很有可能已经长出了方形眼睛并且很明显地缺失了。
当然,肯定有人设法让多个 SSIS 环境都指向自己的数据库,以便同时在同一台 PC 上运行?
提前感谢,DJ