全部。SSIS Ole數據庫來源爲鏈接服務器的存儲過程,參數
我正在使用鏈接服務器的存儲過程。我想在ole db源中使用該過程。
我寫了查詢,它在SSIS中起作用。
select ID,
LAST_NAME_ENG,
LAST_NAME_G,
FST_NAME_ENG,
FST_NAME_G,
BIRTHDATE
from openquery (linkedserver,
'exec [linkedserver].get_records @SESSION_ID = 12 , @SYSTEM = ''oCRM'', @ENTITY_NAME = ''CLIENT''
WITH RESULT SETS (([ID] [int] NOT NULL,
[LAST_NAME_ENG] [varchar](50) NOT NULL,
[LAST_NAME_G] [varchar](50) NOT NULL,
[FST_NAME_ENG] [varchar](50) NOT NULL,
[FST_NAME_G] [varchar](50) NOT NULL,
[BIRTHDATE] [date] NOT NULL))');
我可以在SSIS ole db源代碼中使用它,併成功獲取所需的數據。但在下一步有問題:
我需要從SSIS而不是'12'將參數傳遞給@SESSION_ID。我找不到正確的方法來做到這一點。
有很多建議使用動態sql和構造具有所需參數值的完整查詢字符串,然後執行它,但如果我會這樣做 - SSIS無法從動態查詢中獲取列數據。
有沒有辦法解決它? 任何想法都會有幫助。
謝謝。
對此,尤里。
你爲什麼不直接連接到其他服務器? –
不幸的是,這是不允許的。 –