2

Visual Studio 2010でSQL Server 2008データベースプロジェクトを処理中に、既存のストアドプロシージャ定義に新しいパラメータを追加しました。私がプロジェクトを構築したとき、プロジェクトのどこかでsprocへの参照に十分なパラメータがないことを検出することができませんでした。それは私にプロジェクトを展開させることさえできます。Visual Studio DBプロジェクトは、ストアドプロシージャのパラメータの変更を検出できません。それは普通ですか?

これは、動作するように意図されているのでしょうか、どこかにボックスにチェックを入れて忘れてしまったのでしょうか?

サム:)

答えて

3

データベースプロジェクトは、プロシージャ/ファンクションパラメータの問題を検出しません。また、問題のあるプロシージャ/関数をプロジェクトから一括して削除でき、失敗しないことに気づくでしょう。

私の場合は、プログラマビリティを管理するための外部ツールを使用しているため、procsがないためにビルドに失敗しないことはプラスです。

プロシージャと関数を有効にする場合は、 "SET FMTONLY ON"を使用してすべてのストアドプロシージャを実行するsciptを作成できます。プロシージャはコンパイルされますが、実行中にDBに永続的な変更は行われません。テンポラリテーブルを使用するプロシージャ(#table構文)では使用できません。

これはMicrosoftがVisual Studioでストアドプロシージャの出力結果を決定する方法です。

+0

うわー、素晴らしい答え!ありがとう。あなたが使用している外部ツールは何ですか? – samaspin

+0

私の友人がXMLコードスタブとしてストアドprocs /関数を管理するために書いたプログラム。あなたが興味があれば私はあなたにコピーを送ることができます。 –

+0

あなたが私に偉大なコピーを送ることができれば、ありがとう!私はあなたがどのようにそれを使っているのか本当に理解していませんが、常に物事を管理する新しいアプローチに興味があります! @BAMBAM。 – samaspin

0

あなたは再実行しない限り、その後に戻ってそれをドラッグVSサーバーエクスプローラでSPROCを削除することにより、コード生成ウィザード()プロジェクトは、データベースが変更されたことを知りません。ランタイムエラーは発生しますが、エラーはコンパイルされません。

変更がわからない場合は、通常どおりコンパイルされます。そう、そういうふうに振る舞います。

+0

私はVisual Studio内で開発していますが、Visual Studioプロジェクト内でsprocを修正してプロジェクトを保存しました。 Management Studioで変更を加えた場合は、削除して再追加する必要があることに同意します。 – samaspin

関連する問題