我正在使用SQL Server 2012和SSRS。使用this非常有用的答案,我有一個參數化的查詢工作,通過openquery從DB2系統中提取數據。我想將其製作成SSRS報告。我不知道如何使用查詢做到這一點,所以我建立了一個小的存儲過程中包裹查詢,像這樣:使用嵌入式TSQL exec字符串爲SSRS報告生成輸出參數
ALTER PROCEDURE dbo.QueryInfoByID
-- Add the parameters for the stored procedure here
@inputid varchar(10),
@outputfield varchar(50) output
AS
BEGIN
DECLARE @TSQL varchar(8000);
SELECT @TSQL = 'SELECT * FROM OPENQUERY(IMG2677,''SELECT outputfield FROM mytable WHERE outputfield = ''''' + @inputid + ''''''')'
EXEC (@TSQL)
END
如何連接起來嵌在與該@TSQL的outputfield SP輸出參數列表中的@outputfield?我嘗試了一些Google搜索,找不到解決此問題的任何內容。道歉,如果這是一個新手問題;在存儲過程中,我沒有做太多的輸出參數。
謝謝,但我認爲需要更多東西。經過一些閱讀後,我意識到我不想輸出參數;我想要一個來自SP的結果集。但是,上面似乎沒有實際產生結果集 - 當我以交互方式運行它時,它可以工作,但SSRS不會看到結果集,所以我不能分配這些字段。我嘗試聲明一個表@t並將TSQL更改爲「插入到@t select * from ...」,然後是「select * from @t」以生成結果集,但在SSRS執行時失敗,並且「必須聲明table variable @t「 –