2012-06-22 66 views
0

我想弄清楚任何SQL Server 2008存儲過程的輸入和輸出。SMO存儲過程發現

我正在使用SMO連接到數據庫實例,然後我抓取所有的數據庫和每個數據庫存儲過程。

目前,我可以取StoredProcedure對象並獲取輸入參數,但我無法找到結果。

我知道我可以使用ExecuteWithResults來傳遞存儲過程來運行它,但是如何獲得結果呢?

另外,我該如何傳遞參數?我是否構建一個exec命令並將其傳入?

編輯:我發現我需要使用SET FMTONLY ON,但我該如何將它傳遞給ExecuteWithResults?

回答

0

想通了。使用StringCollection構建一個字符串集合。確保添加(「SET FMTONLY ON」),以免影響任何實際數據。使用存儲過程參數集合中的所有參數構建exec命令,然後對該集合執行executeWithResults。這將返回一個DataSet []。在您的StringCollection中添加您的exec命令的數據集數組中獲取相同的索引。從這裏,您可以獲得結果表集,然後是其列,其中包含所有列名稱及其數據類型。