我有一個問題 - 我想在存儲過程中使用臨時表是SQL Server,它將從SSIS包執行。 我看了一些提示如何做到這一點,我試過這個(第一個答案): 但它沒有奏效。 我有MS Visual Studio 2010,不能是這個版本的問題? 這是我在存儲過程的代碼:在ssis包中使用臨時表
CREATE PROCEDURE some_procedure
AS
SET NOCOUNT ON
IF 1 = 0
BEGIN
SELECT CAST(NULL AS int) as number
END
CREATE TABLE #some_table (number int)
INSERT INTO #some_table VALUES (250)
SELECT number FROM #some_table
感謝您的任何意見或經驗。
這裏是從Visual Studio錯誤消息:
錯誤在數據流任務[OLE DB源[1]]:SSIS錯誤代碼 DTS_E_OLEDBERROR。發生了OLE DB錯誤。錯誤代碼: 0x80004005。 OLE DB記錄可用。源:「Microsoft SQL 服務器本機客戶端11.0」Hresult:0x80004005描述:「 元數據無法確定,因爲過程'some_procedure'中的語句'INSERT INTO #some_table VALUES(250)'使用臨時表」。
數據流任務錯誤[OLE DB Source [1]]:無法從數據源檢索列 信息。確保您的目標表在 數據庫可用。
您遇到的問題,獲取元數據?如果是這樣,您需要在設計中設置「SET FMTONLY ON」以獲取元數據,然後在設計之後移除以獲取數據。 [這是使用FMTONLY獲取元數據的信息](http://munishbansal.wordpress.com/2009/02/18/set-fmtonly-on-useful-in-tsql-ssis-packages-for-using-temp -tables /) – Tak 2014-08-28 13:10:41