2012-10-26 42 views
3

的dbDacFx提供商使用SQLCMD變量我試圖用dbDacFx提供商部署我dacpac文件來使用msdeploy。此數據庫項目使用名爲UserName的變量來創建登錄名和用戶等。此值需要在部署期間傳遞。與MsDeploy

,所以我做這樣的事情......

msdeploy.exe -verb:Sync -Source:dbDacFx="c:\dev\pmwuiservices\trunk\Build\database\Database.dacpac"-dest:dbDacFx="Data Source=localhost;Integrated Security=True;Database=UIConfig", -setParam:Kind=SqlCommandVariable,scope=dbDacFx,match=UserName,value="IIS AppPool\ASP.NET V4.0" 

,但我得到了以下的(順便說一句錯誤消息的網址不存在)

Info: Adding MSDeploy.dbDacFx (MSDeploy.dbDacFx). 
Info: Adding database (data source=localhost;integrated security=True;database=U 
IConfig) 
Info: Creating deployment plan: Pending. 
Info: Verifying deployment plan: Pending. 
Info: Deploying package to database: Pending. 
Info: Creating deployment plan: Running. 
Info: Initializing deployment (Start) 
Info: Initializing deployment (Failed) 
Info: Creating deployment plan: Faulted. 
Info: Verifying deployment plan: Faulted. 
Info: Deploying package to database: Faulted. 
Error Code: ERROR_EXECUTING_METHOD 
More Information: Could not deploy package. 
Missing values for the following SqlCmd variables:UserName. 
    Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXECUTING_M 
ETHOD. 
Error: Could not deploy package. 
Error: Missing values for the following SqlCmd variables:UserName. 
Error count: 1. 

怎麼看用戶SqlCmd變量與MSDeploy中的DbDacFx提供程序?

感謝

回答

0

一個SqlCommandVariable參數的scope應該是你申請它,而不是供應商的文件名:

msdeploy.exe -verb:sync^
    -Source:dbDacFx="c:\dev\pmwuiservices\trunk\Build\database\Database.dacpac" 
    -dest:dbDacFx="Data Source=localhost;Integrated Security=True;Database=UIConfig" 
    -setParam:kind=SqlCommandVariable,scope=Database.dacpac$,match=UserName,value="IIS AppPool\ASP.NET V4.0" 
+2

我想你的建議,但我得到以下錯誤代碼:ERROR_EXECUTING_METHOD 更多信息:無法部署包。 缺少以下SqlCmd變量的值:用戶名。 瞭解更多:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXECUTING_M ETHOD。 錯誤:無法部署軟件包。 錯誤:缺少以下SqlCmd變量的值:用戶名。 錯誤計數:1. –

+1

我目前有嘗試上述修正後同樣的問題...你能找到一個解決? – misterManager

1

我會證明我得到同樣的錯誤。 Ahmed Elsayed的文章http://www.iis.net/learn/publish/using-web-deploy/dbdacfx-provider-for-incremental-database-publishing除了有令人震驚的拼寫錯誤之外,也沒有解決sqlcmd變量。我個人無法找到像通常預期的那樣的「真實」參考,例如dbSqlPackage。此外,我發現「-setParam:kind」和「-setParam:type」之間的不明原因的軼事和寓言變體。再次不文檔對其進行備份,並且不具有實際的工作溶液,它確實出現的範圍可以是文件名(正則表達式)。這就是說,我也看到了由作者在定義範圍爲提供商到一個指定的參數部分片段。理查德的東西在過去爲我工作,所以我很樂意推進他的建議。