Sql server SSIS+临时表

Sql server SSIS+临时表,sql-server,ssis,temp,Sql Server,Ssis,Temp,我有一个存储过程,返回2条记录,其中包含一个临时表中的select语句,因此当我在SSIS中的OLEDB源中使用此存储过程时,我只是尝试使用OLEDB destination将记录集插入到目标SQL表中 它在源端抛出一个错误,说: [OLE DB Source[1661]]错误:OLE DB提供程序未返回基于SQL命令的行集 此外,还尝试了开启set nocount和关闭set FMTONLY 但无济于事 在这方面需要帮助………我以前也遇到过类似的问题,原因是SSI无法确定动态SQL的输出。我通

我有一个存储过程,返回2条记录,其中包含一个临时表中的select语句,因此当我在SSIS中的OLEDB源中使用此存储过程时,我只是尝试使用OLEDB destination将记录集插入到目标SQL表中

它在源端抛出一个错误,说:

[OLE DB Source[1661]]错误:OLE DB提供程序未返回基于SQL命令的行集

此外,还尝试了开启set nocount和关闭set FMTONLY

但无济于事


在这方面需要帮助………

我以前也遇到过类似的问题,原因是SSI无法确定动态SQL的输出。我通过在查询顶部包含一个与预期输出匹配的假Select语句来解决这个问题。i、 e


CREATE PROCEDURE MyStoredProc
AS

    SELECT 1 As Field1, 2 As Field2, 3 As Field3 -- list of fields of appropriate type
    WHERE 1 = 0 -- so nothing is actually returned

    -- Real SQL goes here.

GO


请使用相同的连接,并使delay validation=true

您能在SP中发布代码吗?从SSI调用包含临时表用法的查询时工作不正常。可能是产品错误。这不会返回空记录集吗?是的,但当SSIS解析查询时,它将选择正确的模式。奇怪,但它是有效的。类似的技术使用了下面文章中推荐的IF 1=2块:Jeff,感谢链接和Steve Homer的介绍。Steve Homer给出的代码块非常有用。确保“合同查询”中字段的数据类型或顺序与实际查询中的数据类型或顺序匹配。