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

时间:2016-07-14 16:20:14

标签: sql-server ssis oledb

我正在开发一个SSIS包来执行从SQL Server 2008到Excel文件的提取。

这是我的数据流: 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 个答案:

答案 0 :(得分:0)

为了达到您想要的效果,请按照以下步骤操作: 1)在SSIS中添加名为ID的变量 2)在你的WHERE声明中 使用: WHERE @Id =? 3)使用ID SSIS varibale在数据流中分配@ID varible。

<强>更新 enter image description here