Я выполняю сценарий Powershell с помощью утилиты Sqlpackage для создания дифференциального сценария в задаче Powershell в определении выпуска DevOps.
И я передаю переменные, определенные в определении выпуска, в качестве аргументов параметров в задаче Powershell.
-destServerInstance $(destServerInstance) -destDatabaseName $(destDatabaseName) -sqluser $(sqluser) -sqlpasswd $(sqlpasswd) -destTimeout $(destTimeout)
Вот код Powershell:
param (
[Parameter()]
[String]
$destServerInstance,
[Parameter()]
[String]
$destDatabaseName,
[Parameter()]
[String]
$sqluser,
[Parameter()]
[String]
$sqlpasswd,
[Parameter()]
[String]
$destTimeout
)
sqlpackage.exe /a:script /op:"$env:System_DefaultWorkingDirectory/stg_change.sql" /of:True /sf:"$env:System_DefaultWorkingDirectory/stg_tester.dacpac" /tcs:"server=$destServerInstance;database=$destDatabaseName;User=$sqluser;Password=$sqlpasswd;Connection Timeout=$destTimeout"
Я ожидал, что будет создан выходной файл, но я получаю сообщение об ошибке ниже.
Невозможно найти параметр, который соответствует имени параметра 'destServerInstance'.
CategoryInfo: InvalidArgument: (:) [create_deploy_script.ps1], ParentContainsErrorRecordException
FullyQualifiedErrorId: NamedParameterNotFound, create_deploy_script.ps1