TFS SqlExecute自定义活动

时间:2014-01-27 18:30:56

标签: tfs workflow-foundation team-build

我使用SqlExecute activity of Build Extension

我希望在我的活动的论点中传递参数

但我的问题是Te参数没有注入SQL脚本,请你帮我。你使用过SqlExecute活动吗?

编辑器中的参数部分,在模板tfs / wwf的构建设计器中:

New String(5) {
    "BackupFilePath = F:\MSSQL10.IS_CLTLIVE_DE\DUMP\ClearProdDump\CP.dmp",
    "LogicalDataFile = CP_Data01",
    "DataFilePath = F:\MSSQL10.IS_CLTLIVE_DE\data\",
    "LogicalLogFile = CP_TLog01",
    "LogFilePath = F:\MSSQL10.IS_CLTLIVE_DE\log\",
    "DatabaseName = AghilasCP_Tmp"
}

我的Script.sql

IF  EXISTS (SELECT name FROM sys.databases WHERE name = $(DatabaseName ))

1 个答案:

答案 0 :(得分:2)

阅读该活动的代码,您似乎需要将参数指定为

New String(5) {
    "@BackupFilePath='F:\MSSQL10.IS_CLTLIVE_DE\DUMP\ClearProdDump\CP.dmp'",
    "@LogicalDataFile='CP_Data01'",
    "@DataFilePath='F:\MSSQL10.IS_CLTLIVE_DE\data\'",
    "@LogicalLogFile='CP_TLog01'",
    "@LogFilePath='F:\MSSQL10.IS_CLTLIVE_DE\log\'",
    "@DatabaseName='AghilasCP_Tmp'"
}

声明为

IF  EXISTS (SELECT name FROM sys.databases WHERE name = @DatabaseName)

在'='周围没有空格,并且使用唯一的名称作为参数名称,这让我有点害怕,我个人已经编写了不同的编写此活动,并在参数数组中使用参数值引用或者在SQL代码中。