我有一个存储过程,它返回2条记录并且包含来自临时表的select语句,所以当我在SSIS中的OLEDB源中使用此存储过程并且只是尝试将记录集插入目标SQL时使用OLEDB目的地的表。
它在源头抛出一个错误说:
[OLE DB Source [1661]]错误:OLE DB提供程序未返回基于SQL命令的行集。
此外尝试使用set nocount on和SET FMTONLY OFF
但无济于事............
需要帮助.........
答案 0 :(得分:2)
之前我遇到过类似的问题,原因是SSIS无法确定动态SQL的输出。我通过在查询顶部包含一个与假设输出匹配的“假”Select语句来解决它。即。
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
答案 1 :(得分:0)
请使用相同的连接,并使延迟验证=真