2014-02-11 51 views
2

我們在Visual Studio中有一個DB項目,它會生成一個.dacpac文件。然後我們用這個dacpac和sqlcommand.exe來部署我們的數據庫。 我們的要求是能夠在部署時更改列類型,就像我們可以使用sqlcommand.exe開關更改數據庫名稱一樣。 例如:Visual Studio:使用SQLCMD變量在部署時更改數據庫類型

:setvar CHARTYPE "VARCHAR" 

    ALTER TABLE tempTable ADD newColumn $(CHARTYPE)(200); 
    --or 
    DECLARE @tempVar $(CHARTYPE)(200); 

此SQL通過SSMS的作品完美但嘗試通過Visual Studio來做到這一點被證明是困難的。

我創建了一個項目屬性一個SQLCMD變量,我使用它在存儲過程中的身體:

DECLARE @TempVar $(CHARTYPE)(100) 

但是,這是行不通的。我的數據庫項目不會生成,並在@TempVar中給我一個語法錯誤。

如果我在引號'$(CHARTYPE)'中使用SqlCmd變量,那很好,並且顯示爲字符串'VARCHAR'。

構建項目時我已經打開了SqlCmd模式,但它沒有改變。我怎樣才能讓Visual Studio意識到我在使用SqlCmd變量?

回答

相關問題