1

我已将 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' in procedure SPtest' 使用临时表。”。

我研究发现我们需要使用结果集而不是临时表。但是我需要修改SP中的所有sql查询。

有什么方法可以在不更改存储过程的情况下运行包。

4

1 回答 1

0

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

1)RetainSameConnection属性为 True

本地临时表仅在当前会话中可见。所以你需要保持组件之间的连接。

2)ValidateExternalMetadata为假

于 2017-08-07T18:03:07.903 回答