VS2012
にデータベースプロジェクトを作成しました。私はデータベース構造を追加しました。データベースの公開と比較には問題ありません。VS2012複数のスクリプトを参照するデプロイ後のスクリプト
公開時に、デフォルトのデータを持つ複数のテーブルを自動的に読み込みたいとします。
から生成されたINSERT
ステートメントで5つのスクリプトファイルを作成しました。それらは私のデータベースプロジェクトのScriptフォルダに追加されました。
次に、BuildAction=PostDeploy
を設定します。これは正常に動作します。何らかの理由で1つのスクリプトをPostDeploy
に設定することしかできません....
私はすべてのスクリプトを1つのファイルに移動できます。しかし、私はたくさんのことがあり、いくつかの順序を維持するためにそれらを別々のファイルにグループ化したいと思っています。
私はPostDeploy.sql
ファイルを作成し、他のすべてのスクリプトファイルをそこから参照しようとしました。ファイルヘッダは、方向性を与える:
Post-Deployment Script Template
----------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example: :r .\myfile.sql
だから、私はファイルを書き込む:
:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\MyScript3.sql
:r .\MyScript4.sql
:r .\MyScript5.sql
ファイルが間違った構文に文句を言います。
これは、それが構文エラーであることを考えるのTransact-SQLエディターの問題を解決します。しかし、SSDTプロジェクトはまだ構築や展開に失敗しています。 – Pat
Visual Studioを完全に閉じてみます。 binおよびobjフォルダー、* .dbmdl、* .suo、および* .userファイルを削除して、SSDTソリューションを再開して、SSDTソリューションをクリーンアップします。これで、プロジェクトを構築/展開できるようになりました。 – TDN
@Patエラーリストの代わりに出力ウィンドウを見てください。そこに実際のエラーが表示されます。私の場合は、私のインクルードされたファイルはパスにスペースがあり、パス全体を二重引用符で囲む必要がありました。クリーニング/再起動は必要ありません。 – sellotape