2012-09-14 97 views
0

Techies--SQL服務器:EXEC(「CALL」 DB2;對管理結果集列

如果我發出OPENQUERY選擇的建議,我的問題將得到解決 - 但據我所知沒有按OPENQUERY」牛逼允許調用行話/ w的參數(S)到遠程DB2服務器:)

這裏是工作的:!

declare @z varchar(max); 

set @z = '999990480,888887530'; 

exec ('CALL S1CATALOG.HCMDEV.EMP_ALL_STARS(?)',@z) AT DB2I; 

此存儲過程(EMP_ALL_STARS)接受連接字符串爲CLOB,然後返回大約35列。並非所有有興趣利用此sproc的應用程序都需要全部35列。有關如何管理結果集的任何建議?

回答

1

您是否可以控制遠程DB2過程?如果是這樣,您可以在proc中定義多個遊標,每個遊標在結果集中具有不同的一組列。在運行時,當proc打開執行查詢的遊標並將結果集返回給調用者時,一些邏輯可以評估相關的輸入參數以確定打開哪個遊標。

+0

Fred,再次感謝。好的解決方案現在,只要我能讓開發人員就他們真正想要的列達成一致!:-) – plditallo

+0

很高興能夠提供幫助,而且我們無需一直打電話給所有「技術人員」,因爲我們都痛苦地意識到這一點。 –