0

SQL Server 2008 ストアド プロシージャの入力と出力を把握しようとしています。

SMO を使用してデータベース インスタンスに接続し、すべてのデータベースと各データベース ストアド プロシージャを取得しています。

現在、StoredProcedureオブジェクトを取得して入力パラメーターを取得できますが、結果を見つけるのに問題があります。

を使用ExecuteWithResultsしてストアド プロシージャを渡して実行できることはわかっていますが、どうすれば結果を取得できますか?

また、どのようにパラメータを渡すのですか? exec コマンドを作成してそれを渡しますか?

編集: SET FMTONLY ON を使用する必要があることがわかりましたが、それを ExecuteWithResults に正確に渡すにはどうすればよいですか?

4

1 に答える 1

0

理解した。StringCollection を使用して文字列のコレクションを作成します。実際のデータに影響を与えないように、必ず Add("SET FMTONLY ON") を実行してください。ストアド プロシージャのパラメーター コレクションのすべてのパラメーターを使用して exec コマンドを作成し、そのコレクションに対して executeWithResults を実行します。これは DataSet[] を返します。StringCollection に exec コマンドを追加したデータセット配列と同じインデックスを取得します。ここから、すべての列名とそのデータ型を含む結果テーブル セットとその列を取得できます。

于 2012-06-22T17:48:02.980 に答える