2

データベース プロジェクト ( ) を使用して、Visual Studio (MSBuild を使用) のビルド プロセスにいくつかのストアド プロシージャを追加しようとしています*.dbp

ただし、VS で利用可能な他のデータベース プロジェクトとは異なり、ビルドまたは実行することはできません。(私はSQL2000を使用しているので、これが私が望むプロジェクトファイルだと思います

プロジェクトのビルド時に SQL スクリプトを実行するにはどうすればよいですか? 右クリックして実行を押すことでスクリプトを実行できることは知っていますが、それは問題ではありません。

4

2 に答える 2

2

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

実装方法は自由です。たとえば、BeforeBuildターゲットにフックし、 SqlExecuteタスクを使用してスクリプトを実行できます。

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

于 2009-08-03T05:06:45.903 に答える
1

データベース プロジェクトをビルドできます。

それらは実行できません-展開できます。

配置すると、プロジェクトがビルドされてから配置されます。コードは、ビルド前スクリプトとビルド後スクリプト、および配置前スクリプトと配置後スクリプトとともに配置されます。

したがって、プロジェクトをビルドするときにスクリプトを実行する場合は、プロジェクト プロパティのビルド イベントの下にあるビルド前およびビルド後を調べる必要があります。

于 2009-08-04T16:18:20.513 に答える