重写SSIS环境变量

重写SSIS环境变量,ssis,Ssis,我已经设置了一个包配置,其中配置类型为间接XML配置文件。其中环境变量指向C:\SSIS\MasterConfig\MasterConfig.dtsConfig文件 这非常有效,并且允许从测试到UAT到生产的轻松迁移 问题是在我们的开发环境中,每个开发人员都有自己的数据库。我正在尝试为每个开发人员设置一个代理作业,代理作业将覆盖主配置文件。代理作业命令行是: /文件C:\SSIS\Packages\Developer1\LoadPackage.dtsx/CONFIGFILE C:\SSIS\Pa

我已经设置了一个包配置,其中配置类型为间接XML配置文件。其中环境变量指向C:\SSIS\MasterConfig\MasterConfig.dtsConfig文件

这非常有效,并且允许从测试到UAT到生产的轻松迁移

问题是在我们的开发环境中,每个开发人员都有自己的数据库。我正在尝试为每个开发人员设置一个代理作业,代理作业将覆盖主配置文件。代理作业命令行是:

/文件C:\SSIS\Packages\Developer1\LoadPackage.dtsx/CONFIGFILE C:\SSIS\Packages\Developer1\Developer1\u Config.dtsConfig/X86 /检查点关闭/报告E

使用2008 R2

我希望/CONFIGFILE C:\SSIS\Packages\Developer1\Developer1\u Config.dtsConfig将是 用于代替C:\SSIS\MasterConfig\MasterConfig.dtsConfig文件


仅使用主配置文件。有什么想法吗?

您遇到的问题基本上包含在下面,命令行配置正在应用,但随后被设计时间值覆盖


但我不确定你的解决方案是什么。这里的情况类似,只是我们必须处理多实例的盒子,开发人员和测试人员共享一个物理主机。为了解决这个问题,我们跳过了环境变量位,并决定设计时值始终指向dev。Test、UAT和PROD将仅通过SQL代理运行包,因此我们的作业将显式定义到配置资源的连接字符串。不过,您的是一个反向场景,设计时间值在任何地方都可以,但在开发中除外。

您遇到的问题基本上在下面讨论,命令行配置正在应用,但随后被设计时间值覆盖

但我不确定你的解决方案是什么。这里的情况类似,只是我们必须处理多实例的盒子,开发人员和测试人员共享一个物理主机。为了解决这个问题,我们跳过了环境变量位,并决定设计时值始终指向dev。Test、UAT和PROD将仅通过SQL代理运行包,因此我们的作业将显式定义到配置资源的连接字符串。不过,您的是一个倒退的场景,设计时间值在任何地方都可以,但开发人员除外。

下面是我们要做的

所有变量的名称都相同,无论它指向生产、QA或Dev,甚至指向本地。我们更改的是指向配置文件的变量值

我们创建配置文件,其中包含每个框的所有适当连接信息。因此,每个数据库至少有3个单独的配置文件。我们将它们命名为DB_Prod.config、DB_QA.config、DB_Dev.config,然后命名为DB_Joe_local.config,如果您希望有一个指向本地数据库的数据库

然后,我们创建.bat文件,将变量设置为正确的环境。我有3个不同的,一个用于QA,一个用于开发,还有一个用于我的本地环境

环境变量是ll命名的东西,如DB1_adonet、DB1_ole、AS400等,没有QA、prod等指示

设置起来有点麻烦,但一旦你开始使用它,唯一的问题就是记住你为自己设置的环境。另外,您需要记住,在缓存值时,需要在环境更改之间打开和关闭dev studio。此外,如果您碰巧在本地运行包,它将使用您的环境变量值,而不是从中运行包的框

最后请注意,我们已将所有配置文件签入TFS。便于文件分发。

以下是我们的工作

所有变量的名称都相同,无论它指向生产、QA或Dev,甚至指向本地。我们更改的是指向配置文件的变量值

我们创建配置文件,其中包含每个框的所有适当连接信息。因此,每个数据库至少有3个单独的配置文件。我们将它们命名为DB_Prod.config、DB_QA.config、DB_Dev.config,然后命名为DB_Joe_local.config,如果您希望有一个指向本地数据库的数据库

然后,我们创建.bat文件,将变量设置为正确的环境。我有3个不同的,一个用于QA,一个用于开发,还有一个用于我的本地环境

环境变量是ll命名的东西,如DB1_adonet、DB1_ole、AS400等,没有QA、prod等指示

设置起来有点麻烦,但一旦你开始使用它,唯一的问题就是记住你为自己设置的环境。另外,您需要记住,在缓存值时,需要在环境更改之间打开和关闭dev studio。此外,如果您碰巧在本地运行包,它将使用您的环境变量值,而不是从中运行包的框

最后请注意,我们已将所有配置文件签入TFS。这很容易做到
文件分发。

感谢您的回复。这里最简单的事情是:1。让在SSI上工作的开发人员使用本地数据库,在那里没有人共享他们的环境变量。2.让开发人员友好地轮流使用共享数据库。感谢您的回复。这里最简单的事情是:1。让在SSI上工作的开发人员使用本地数据库,在那里没有人共享他们的环境变量。2.让开发人员表现良好,轮流使用共享数据库。