我有一个问题-我想在存储过程中使用临时表是SQL Server,它将从SSIS包中执行。我读了一些技巧,然后尝试了一个(第一个答案):在SSIS中使用Temp表, 但是没有用。我有MS Visual Studio 2010,这个版本可以吗?这是我在存储过程中的代码:
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
Run Code Online (Sandbox Code Playgroud)
感谢您的任何建议或经验。
这是来自Visual Studio的错误消息:
数据流任务[OLE DB源[1]]时出错:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。OLE DB记录可用。来源:“ Microsoft SQL Server Native Client 11.0”结果:0x80004005说明:“由于过程'some_procedure'中的语句'INSERT INTO #some_table VALUES(250)'使用临时表,因此无法确定元数据。”
数据流任务[OLE DB源[1]]发生错误:无法从数据源中检索列信息。确保数据库中的目标表可用。