2

Visual Studioのビルドプロセス(MSBuildを使用)にストアドプロシージャを追加しようとしています。Visual Studioでデータベースプロジェクトからスクリプトを実行する

私は、データベースプロジェクト(*れる.dbpは)しかし、VSで利用可能な他のデータベースプロジェクトの一部とは違って、私はそれを構築したり、実行することはできません、私の解決策に追加しました。 (私はSQL2000を使用していて、これは私が欲しいのプロジェクトファイルであると信じて)

どのように私は、私はプロジェクトをビルドとしてSQLスクリプトを実行するために得ることができますか? スクリプトを右クリックして実行することができます。

答えて

2

データベースプロジェクトは、通常のプロジェクトと同様に構築されていません。このプロジェクト内でスクリプトを実行する場合は、MSBuildと互換性のあるプロジェクト(csproj、vbprojなど)を拡張し、選択したツールを使用してそこからスクリプトを参照/実行することをお勧めします。

どのように実装するかは、BeforeBuildターゲットにフックし、SqlExecuteタスクを使用してスクリプトを実行するなど、あなた次第です。タスクがはるかに困難になるように

FWIW、我々は、SQL Server 2000では、2005年、2008+をサポートするために持っています。 NVARCHAR(max)(2005+)vs NText(2000+)とバージョン間のすべてのSPの名前変更などを考えてください。また、一貫性を保証するために開発者、QA、およびインストーラが使用した単一のスクリプトが必要でした。だから私たちのアプローチは、スクリプト内でトークン/キーワードの置き換えを可能にするカスタムツールであり、さまざまなSQL Serverのバージョンと顧客のインストール(例えば、ユーザー/ログインの詳細、db名)間の柔軟性と、コマンドライン、MSBuild、Wixプロジェクトを使用したMSIカスタムアクション、または実行に必要なもの。

1

データベースプロジェクトを構築することができます。

彼らは実行できません - 彼らは展開することができます。

デプロイすると、プロジェクトがビルドされ、その後、展開します。このコードは、Pre-BuildスクリプトとPost-Buildスクリプト、およびPre-DeploymentスクリプトとPost-Deploymentスクリプトと共に展開されます。

あなたがプロジェクトをビルドするとスクリプトが実行したいのであれば、あなたは、ビルド前に見て、プロジェクトのプロパティでビルドイベントの下のポスト構築したいです。

関連する問題