2011-01-05 15 views
1

私はデザイナを使用して出力をマッピングできるように、.NETでデザイナをビルドしようとしていますが、ストアドプロシージャの出力の列と列の型を呼び出すことはできません。これは可能ですか?私は必要に応じてアンマネージドAPIを使用しても構いません。ストアドプロシージャを実行せずに何が返されるかを調べる方法はありますか?

+0

そう思わないでください。関連する[Microsoft Connect Item](https://connect.microsoft.com/SQLServer/feedback/details/525653/stored-procedures-should-expose-detailed-contracts)を参照してください。編集:実際にVisual Studioの厳密に型指定されたデータセットデザイナーは、これを限られた範囲で行いますが... –

答えて

3

あなたが探しているものはSET FMTONLYDocumentation)です。

これにより、SP(またはselect文)を実行し、実際にクエリを実行せずに返される列を確認することができます。

+0

SQLプロファイラを使用して、ODBC、OLE DB、および/またはその他の低レベルAPIでこのトリックを使用しています。 Upvoted、私はそれがいかに簡単に使用されるか分からない。 –

+0

ありがとうございます。私はこれがうまくいくと思います。条件付きで返された場合でも、すべての可能な戻り値を返すように見えます。 –

1

一般に、単一のストアドプロシージャでも、異なる列または列のデータ型を持つ異なる結果セットが返される可能性があるため、これは不可能です。

0

極端なケースでは、返される結果セットの数もパラメータに依存する場合があり、ストアドプロシージャが動的SQLを使用する場合は不可能です。

関連する問題