为什么OLE DB Source中的嵌套SQL不起作用?

问题描述:

我正在开发一个SSIS包来执行从SQL Server 2008到Excel文件的提取。为什么OLE DB Source中的嵌套SQL不起作用?

这是我的数据流: enter image description here

“的概念提取” 是一个OLE DB源。它执行这条SQL语句:

SELECT 
    Id, 
    Name, 
    Surname, 
    (
     SELECT 
      CI.Interest + '; ' 
     FROM     
      CustomerInterests CI 
     WHERE 
      CI.CustomerId = C.ID 
     FOR XML PATH ('') 
    ) AS Interest 
FROM 
    Customer C 
WHERE Id = ? 

当我尝试保存我的查询我得到这个错误: enter image description here

如果我修改我们关注到自己的SQL语句,该错误不会出现:

SELECT 
    Id, 
    Name, 
    Surname, 
    NULL AS Interest 
FROM 
    Customer C 
WHERE Id = ? 

你能帮我吗? 感谢

为了达到你想要什么,遵循以下步骤: 1)添加在SSIS变量,名为ID 2)在您的WHERE语句 用途:WHERE @Id =? 3)在ID为SSIS varibale的数据流中分配@ID变量。

更新时间: enter image description here

+0

嗨特立独行,首先感谢你的答案。我可以获得关于第三点的更多信息吗? – ilMattion

+0

@ilMattion - 我已经更新了我的答案。按照你将实现你所需要的步骤。 – Maverick