1

我有一个存储过程,它返回 2 条记录,其中包含来自临时表的选择语句,所以当我在 SSIS 的 OLEDB 源中使用这个存储过程并尝试使用 OLEDB 将记录集插入目标 SQL 表时目的地。

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

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

此外尝试使用 set nocount on 和 SET FMTONLY OFF

但无济于事…………

在这方面需要帮助......

4

2 回答 2

2

我之前遇到过类似的问题,这是由于 SSIS 无法确定动态 SQL 的输出。我通过在查询顶部包含与预期输出匹配的“假”选择语句来解决它。IE


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

于 2009-09-05T22:06:40.550 回答
0

请使用相同的连接和,使延迟验证=true

于 2009-10-05T13:46:12.873 回答