2016-07-14 65 views
0

我正在開發一個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 = ? 

你能幫我嗎? 感謝

回答

0

爲了達到你想要什麼,遵循以下步驟: 1)添加在SSIS變量,名爲ID 2)在您的WHERE語句 用途:WHERE @Id =? 3)在ID爲SSIS varibale的數據流中分配@ID變量。

更新時間: enter image description here

+0

嗨特立獨行,首先感謝你的答案。我可以獲得關於第三點的更多信息嗎? – ilMattion

+0

@ilMattion - 我已經更新了我的答案。按照你將實現你所需要的步驟。 – Maverick