Dot-Net
TableAdapter 配置嚮導不喜歡 SP 中的臨時表
我有一個儲存過程,我在數據集中使用它在 ReportViewer 中生成報告。
該 SP 使用臨時表來儲存中間值,以便在 SP 結束時在計算中使用這些值。
臨時表都在 SP 結束時被乾淨地刪除。
我可以毫無問題地在 SSMS 中執行 SP,它會返回我期望的數據。
但是,當使用 TableAdapter 配置嚮導在 VS2012 中更新我的 xsd 時,它給了我錯誤
Invalid object name '#Held'(其中 #Held 是臨時表之一的名稱)。這是怎麼回事?
#temp 表和表適配器存在一些已知問題。
有些人通過明確選擇列名來解決它,例如:
SELECT column1, column2, ... from #temptable而不是SELECT *(如果你這樣做)您也可以嘗試使用
table變數而不是臨時表。
由於未知原因,此處所述的答案非常有效。
只需將以下程式碼放在 SP 的 AS 部分之後的儲存過程之後。
IF 1=0 BEGIN SET FMTONLY OFF END