首页 > 解决方案 > Powershell Array Strings - 在 SSIS 中映射不同的变量参数名称

问题描述

我正在自动化 SSIS 部署。我想将参数映射到环境中的参数。包和环境中的参数具有不同的变量名称。示例如下

 $ParameterCount = 2          # Value will be coming from environment variable that is set
 $vPackage1 = "vId"           # Value will be coming from environment variable 
 $vEnvironment1 = "ApiId"     # Value will be coming from environment variable
 $vPackage2 = "vKey"          # Value will be coming from environment variable
 $vEnvironment2 = "ApiKey"    # Value will be coming from environment variable

 $vPackage = [System.Collections.ArrayList]@()
 $vEnvironment= [System.Collections.ArrayList]@()

 for ($i = 1; $i -le $(ParamterCount); $i += 1) {
      # This doesnt work!!!. I want to get the value of vPackage1 variable
      $vPackage[$i].Add($vPackage + $i)      

      # This doesnt work!!!. I want to get the value of vPackage2 variable
      $vEnvironment[$i].Add($vPackage + $i)         
 }

 # Then for deployment. I want to Map those two variables.
 $Counter = $Counter + 1
 $Package.Paramters[$vPackage[$Counter]]
     .Set([Microsoft.SqlServer.Management.IntegrationServices.ParameterInfo
     + ParameterValueType]::Referenced, $vEnvironment[$Counter])

我将使用 Bamboo 进行部署。上面所说的变量来自于 Bamboo 的变量。

我该如何处理?

标签: sql-serverpowershellssisbamboo

解决方案


答案是我创建了一个脚本来映射 CSV 文件中的变量。并从数组中保存第一列,与从数组中保存第二列相同。然后映射包和环境变量。


推荐阅读