无法确定元数据,因为语句' INSERT INTO #temp_display()values()使用临时表

时间:2017-08-07 17:58:12

标签: sql-server ssis ssis-2012 ssis-2008 ss

我已将SSIS包从2008年升级到2014年。此外,我已将提供者值更改为" Provider = SQLNCLI11.1"。当我跑步时,我得到了像

这样的错误
  

OLE_SOURCE_RECORDS [9]]错误:SSIS错误代码DTS_E_OLEDBERROR。
  发生OLE DB错误。错误代码:0x80004005。
  OLE DB记录可用。来源:" Microsoft SQL Server Native Client 11.0"
  Hresult:0x80004005描述:"无法确定元数据因为语句' INSERT INTO #temptest           ([a],[b])值(0,' b'在程序SPtest'使用临时表。"。

我研究并发现我们需要使用With result而不是temp table。但是我需要修改SP中的所有sql查询。

我们是否可以在不更改存储过程的情况下运行包。

1 个答案:

答案 0 :(得分:0)

如果要在SSIS中使用本地临时表,您应该知道两个设置:

1)RetainSameConnection属性为True

本地临时表仅在当前会话中可见。因此,您需要保留组件之间的连接。

2)ValidateExternalMetadata为假