3

dbDacFx プロバイダーを使用して msdeploy を使用して、dacpac ファイルをデプロイしようとしています。このデータベース プロジェクトは、UserName という名前の変数を使用して、ログインやユーザーなどを作成します。この値は、デプロイ時に渡す必要があります。

だから私は次のようなことをしています...

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"

しかし、私は次のようになります(ちなみに、エラーメッセージのURLは存在しません)

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.

MSDeploy で DbDacFx プロバイダーを使用して 1 人のユーザーが SqlCmd 変数を使用するにはどうすればよいですか?

ありがとう

4

2 に答える 2

1

同じエラーが発生することを確認します。Ahmed Elsayed の記事http://www.iis.net/learn/publish/using-web-deploy/dbdacfx-provider-for-incremental-database-publishingは、ひどいタイプミスがあることを除けば、sqlcmd 変数にも対処していません。個人的には、 dbSqlPackageのような、通常期待されるような「実際の」参照を見つけることができませんでした。さらに、「-setParam:kind」と「-setParam:type」の間に、説明のつかない逸話的で寓話的な違いがあることがわかりました。再び、それをバックアップするためのドキュメントがなく、実際に機能するソリューションがなくても、スコープはファイル名(正規表現) である可能性があるように見えます。そうは言っても、私は'どちらにパラメーターを割り当てますか。リチャードのものは過去に私のために働いていたので、私は彼の提案を進めることに満足しています.

于 2013-05-28T21:41:42.540 に答える
0

パラメータのscopeSqlCommandVariable、プロバイダではなく、適用先のファイル名にする必要があります。

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"
于 2012-10-26T22:50:01.060 に答える