2011-01-19 5 views
26

Ado.netを使用してSQL Serverのストアドプロシージャ(TSQL)を呼び出すC#コードをデバッグしています。どのように私はストアドプロシージャにステップインできますか?C#コードからSQL Serverに格納されたprocにステップインする方法はありますか?

(私は、これは、マイクロソフトのスタッフによるデモ見ていると思うが、それは仕事を得るために必要とされている101「魔法」の設定をリコールすることはできません。)

答えて

13

それは私が経てきたまさにプロセスだったので、私はダヴィデの答えとそれへのイアンさんのコメントに構築します。

仮定:答えはVS2008 VS2010 &に基づいています。

次の操作を実行する必要があります.NETアプリケーションをデバッグ中にSQL Server上でT-SQLストアドプロシージャをステップ実行するには、次の

  1. は "How to debug stored procedures in Visual Studio .NET(オプション2)" MSサポートの指示に従ってください

    • あなたはプロジェクトのプロパティ(リンクの手順のステップ4)でSQL Serverのデバッグを有効にしていることを確認してください。
    • は、ストアドプロシージャが呼び出されたデータ接続にSQL/CLRデバッグを許可する有効
  2. ストアドプロシージャ自体(ステップ6-7)でブレークポイントを設定していることを確認: Rとして

    • (あなたがを取得することがあります。この第二のステップせずに「ブレークポイントが現在ヒットされません。この時点でのSQL breakponitをバインドすることができません。ロードされていないブレークポイントを含むオブジェクト。」あなたは、コード
    • ティックでメニュー
    • SQL/CLRデバッグを許可するオプションを使用していること、接続にイアン)
    • サーバーエクスプローラ>データ接続
    • 右クリックでeportedコメントを追加しましたから

:(これは、取得するための鍵であるように見えますそれが動作するように)

これはプログラムで作成された接続でも機能します。と同じ接続文字列を使用するだけで、サーバーインスタンスを右クリックし、[プロパティ]をクリックし、[接続文字列](ドイツ語のVerbindungszeichenfolge)までスクロールして表示されます。

+0

データ接続がコードによってアプリによって作成された場合はどうなりますか? –

+0

@Ian良い点。月曜日に掘り起こしてみましょう。 –

+2

@Ianサーバーエクスプローラにリストされている接続を使用する必要があります。関連ドキュメントやVSそのものを掘り下げても、プログラムで作成された接続では可能ではないことが示されています。だから少なくともデバッグ/テストの目的では、リストされた接続が必要です。 –

1

プロジェクトのプロパティでSQL Serverのデバッグを有効にします。

+0

残念ですが、Visual Studioはストアドプロシージャを実行するのではなく、ExecuteReader()を呼び出すだけです。 –

+0

ストアドプロシージャにデバッグするためのデバッグ権限が必要だと思っています。ローカルコンピュータ? –

+1

@ J.Wサーバエクスプローラから選択されたストアドプロシージャを選択することができます。 –

0

ソリューションエクスプローラで、ソリューションではなくプロジェクトを右クリックし、プロパティページを開きます。ツリーの[構成のプロパティ]をクリックし、[ストアドプロシージャのデバッグを有効にするには、[デバッグ]ページの[SQL Serverのデバッグ]チェックボックスをオンにします。

参照:http://support.microsoft.com/kb/316549

+0

ストアドプロシージャにブレークポイントを設定すると、「現在ブレークポイントにヒットしません。この時点でSQLブレークポイントをバインドできません。ブレークポイントがロードされていないオブジェクトがロードされていません。 –

6

VS 2012を使用していて、なぜサーバーエクスプローラウィンドウからSQL/CLRデバッグを有効にできないのか混乱している方は、実際には「SQL Serverオブジェクトエクスプローラ」ウィンドウから接続する必要があります。そのウィンドウで接続が確立されると、データベースの右クリック・コンテキスト・メニューに「SQL/CLRのデバッグを許可する」および「アプリケーションのデバッグ」設定が表示されます。これはおそらく2013年にも当てはまりますが、私は確認できません。

+0

これらの設定はVS 2013の 'SQL Server Object Explorer'で見つかりましたが、まだブレークポイントにヒットしないというメッセージが表示されます。 – CoderDennis

+0

ありがとう!これはVS 2015の問題を解決しました。 – EM0

関連する問題