devops部署向sql脚本传递参数\参数

lndjwyie  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(319)

我正在尝试运行一个为ssis包创建环境变量的脚本。
根据目的地(即sit、uat或prd),我希望脚本根据目的地使用不同的变量值。在我的脚本中,我有一个变量@depoyserver,我希望在使用executesql脚本任务时,这个变量作为devops的参数或参数填充。
然后,我的代码查看这个设置为什么,并为每个环境设置其他公共变量,例如,数据库连接字符串变量将设置为该环境的变量。脚本代码示例如下:-

-- DECLARE @DeployServer varchar(100)
Declare @DBConnectionString varchar(500)
IF @DeployServer = 'UAT'
   SET @DBConnectionString = 'ConnectionStringForUAT'

IF @DeployServer = 'PRD'
   SET @DBConnectionString = 'ConnectionStringForPRD'

/*
Code to create environment varaiables and populate the variable with @DBConnectionString

* /

sql脚本文件路径使用:-$(system.defaultworkingdirectory)/path/sqlscript.sql设置
有一个参数字段。我已经把它榨干了,但我会得到的是dacpac的例子。

nuypyhwy

nuypyhwy1#

使用sqlcmd变量为deploy server定义sql脚本。

:SetVar DeployServer UAT

Declare @DBConnectionString varchar(500)
IF $(DeployServer) = 'UAT'
   SET @DBConnectionString = 'ConnectionStringForUAT'

IF $(DeployServer) = 'PRD'
   SET @DBConnectionString = 'ConnectionStringForPRD'

现在,在sqlcmd工具中使用deplyserver的正确值调用这个脚本

sqlcmd -v DeployServer ="UAT" -i $(System.DefaultWorkingDirectory)/path/SQLScript.sql

相关问题