0

我有一个使用 SP 的 SSIS 2014 包。该 SP 正在创建临时表并将数据插入该临时表并返回结果集。当我将包与 SQL SERVER 2005 一起使用时,它工作正常,但是当我使用 SQL SERVER 2014 数据库时,它返回以下错误:

SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“无法确定元数据,因为过程 'p_GetFullData' 中的语句 'INSERT INTO #tblTemp (id ,username ,indicator' 使用临时表。”。

我也将 FMTONLY 设置为 OFF,但它也无法正常工作。

4

2 回答 2

1

仅关闭 FMT 不再有效!我也很惊讶。

相反,您可以通过运行 Select where 1=0 作为存储过程中的第一个 Select 来欺骗 SSIS。然后在您的存储过程中照常进行。

于 2017-01-17T16:54:56.727 回答
0

您可以尝试以下操作:

  1. 启用延迟验证
  2. 使用表变量而不是临时表
于 2017-01-10T10:39:04.203 回答