Dacpac deployment in azure refers value as invalid column name

Viewed 98

I am trying to deploy dacpac where i am passing arguments as $(name)="dev".

and in pre-deployment script have below code.

DECLARE @SQL VARCHAR(254);
BEGIN
    SET @SQL = 'INSERT INTO [dbo].[tblTest] (Id, name) VALUES (2, '''+$(name)+''');'
    EXEC(@SQL)
END

Now when running above query i am getting "Error SQL72014: .Net SqlClient Data Provider: Msg 207, Level 16, State 1, Line 1 Invalid column name 'dev'"

Here i am not sure what is wrong. need help to fix it.

1 Answers

DACPAC deployments use sqlcmd variables so you do not have to treat it like a SQL variable. You do not have to concatenate it. This should work:

DECLARE @SQL VARCHAR(254);
BEGIN
    SET @SQL = 'INSERT INTO [dbo].[tblTest] (Id, name) VALUES (2, ''$(name)'');'
    EXEC(@SQL)
END
Related