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 回答