【问题标题】:SMO Stored Procedure DiscoverySMO 存储过程发现
【发布时间】:2012-06-22 16:41:35
【问题描述】:

我正在尝试找出任何 SQL Server 2008 存储过程的输入和输出。

我正在使用 SMO 连接到数据库实例,然后我正在获取所有数据库和每个数据库存储过程。

目前,我可以获取StoredProcedure 对象并获取输入参数,但我无法找到结果。

我知道我可以使用ExecuteWithResults 传入我的存储过程来运行它,但是我怎样才能得到结果呢?

另外,我如何传递参数?我是否构建一个 exec 命令并将其传入?

编辑:我发现我需要使用 SET FMTONLY ON,但我该如何将它传递给 ExecuteWithResults?

【问题讨论】:

    标签: c# sql-server-2008 stored-procedures smo


    【解决方案1】:

    想通了。使用 StringCollection 构建字符串集合。确保 Add("SET FMTONLY ON") 这样您就不会影响任何真实数据。使用存储过程 Parameters 集合中的所有参数构建一个 exec 命令,然后在该集合上执行 executeWithResults。这将返回一个 DataSet[]。在数据集数组中获取与在 StringCollection 中添加 exec 命令相同的索引。从这里,您可以获取结果表集,然后是其列,其中包含所有列名及其数据类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 2023-04-02
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多