我有一个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(过程'p_GetFullData'中的id,username,indicator'使用临时表 . ” .
我也设置了FMTONLY OFF,但它也无法正常工作 .
2 回答
设置FMT仅关闭不再有效!我也很惊讶 .
相反,您可以通过运行Select(其中1 = 0)作为存储过程中的第一个Select来欺骗SSIS . 然后在您的存储过程中正常进行 .
您可以尝试以下方法:
启用延迟验证
使用Table变量而不是Temp表