使用SSIS 2014中的临时表时发出问题

时间:2017-01-10 07:01:32

标签: sql-server ssis sql-server-2014 sql-server-data-tools sql-server-2012-datatools

我有一个SSIS 2014套餐,我正在使用SP。该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描述:“无法确定元数据,因为声明'INSERT INTO #tblTemp       (           ID          ,用户名          ,''过程中的指示符'p_GetFullData'使用临时表。“。

我也设置了FMTONLY OFF,但它也无效。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您可以尝试以下操作:

  1. 启用延迟验证
  2. 使用Table变量代替Temp表