我有一个存储过程,它返回 2 条记录,其中包含来自临时表的选择语句,所以当我在 SSIS 的 OLEDB 源中使用这个存储过程并尝试使用 OLEDB 将记录集插入目标 SQL 表时目的地。
它在源端抛出一个错误说:
[OLE DB 源 [1661]] 错误:OLE DB 提供程序未返回基于 SQL 命令的行集。
此外尝试使用 set nocount on 和 SET FMTONLY OFF
但无济于事…………
在这方面需要帮助......
我有一个存储过程,它返回 2 条记录,其中包含来自临时表的选择语句,所以当我在 SSIS 的 OLEDB 源中使用这个存储过程并尝试使用 OLEDB 将记录集插入目标 SQL 表时目的地。
它在源端抛出一个错误说:
[OLE DB 源 [1661]] 错误:OLE DB 提供程序未返回基于 SQL 命令的行集。
此外尝试使用 set nocount on 和 SET FMTONLY OFF
但无济于事…………
在这方面需要帮助......
我之前遇到过类似的问题,这是由于 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
请使用相同的连接和,使延迟验证=true