2009-04-29 70 views
2

我剛剛在報表管理器中使用使用臨時表的存儲過程創建了一個報表。Reporting Services 2000中的臨時表問題

我得到錯誤「無法生成用於查詢。無效的對象名稱#XXXX「字段列表」

我讀這是因爲,當報表管理器試圖PrepareQuery它運行到困難,因爲臨時表尚不存在,這是正確的嗎?如果是這樣,你有任何解決方法?

回答

3

我碰到過這一次......實際上同樣的事情。我通過在創建任何臨時表之前將此行放入我的SP中進行了修復:

SET FMTONLY OFF 

這應該爲它做點訣竅。

0

唯一的方法是明顯的,讓你的臨時表成爲一個永久的表並自己進行管理(在使用後刪除行等)。這可能會更快以及可索引,您可以根據需要添加密鑰以確保完整性。它也可以充當長時間運行查詢的緩存。

如果您確定只有一個用戶調用sp,那麼您可以使用截斷而不是刪除從表中轉儲數據。

沒有太大的幫助,但我從來沒有找到任何其他方式做到這一點。

0

我對於報告服務並不十分了解,但這聽起來對我來說很準確。

這聽起來像你可能無法使用臨時表來存儲數據。您可能需要使用永久表。

我會問自己,爲什麼我反正用單獨的表。數據是否已經存在於其他表格中?我能從那裏得到它嗎?有時候你沒有選擇使用單獨的桌子,只要確保。

0

我不知道到底是什麼原因導致了問題,但可以嘗試使用變量表。

declare @table table (Field int)