我正在尝试找出任何SQL Server2008存储过程的输入和输出。
我使用SMO连接到一个数据库实例,然后获取所有数据库和每个数据库存储过程。
目前,我可以获取StoredProcedure对象并获取输入参数,但我在查找结果时遇到了麻烦。
我知道我可以使用ExecuteWithResults传入我的存储过程来运行它,但是如何才能获得结果呢?
另外,我如何传入参数?我是否要构建一个exec命令并将其传入?
编辑:我发现我需要使用SET FMTONLY ON,但是我到底如何将其传递给ExecuteWithResults呢?
发布于 2012-06-23 01:48:03
我想通了。使用StringCollection构建字符串集合。确保添加(“SET FMTONLY ON"),这样就不会影响任何实际数据。使用存储过程参数集合中的所有参数构建一个exec命令,然后在该集合上使用executeWithResults。这将返回一个DataSet[]。在数据集数组中获取与在StringCollection上添加exec命令的索引相同的索引。从这里,您可以获得结果表集合,然后是它的列,其中包含所有的列名及其数据类型。
https://stackoverflow.com/questions/11160546
复制相似问题