2012-07-09 253 views
0

我在data-warehouse.map服務器中創建了測試存儲過程。我創建了一個OLE DB源。這個源與mas.est服務器相連,我打電話通過鏈接服務器中的存儲 過程EXEC [data-warehouse].MAP.dbo.test無法通過SSIS 2005中的鏈接服務器調用存儲過程

procedure via TITLE: Microsoft Visual Studio 
------------------------------ 

The component reported the following warnings: 

Error at Data Flow Task [OLE DB Source [1]]: No column information was returned by the SQL command. 


Choose OK if you want to continue with the operation. 
Choose Cancel if you want to stop the operation. 

------------------------------ 
BUTTONS: 

OK 
Cancel 
------------------------------ 

請建議我如何做到這一點?

+0

如果您有時間,請您查看您的[開放問題](http://stackoverflow.com/users/983477/dewasish-mitruka?tab=questions&sort=newest)並將其標記爲已回答 – billinkc 2012-07-10 01:20:15

+0

您必須使用用於數據庫調用的鏈接服務器?是否有一個原因,你不能創建一個連接管理器到[數據倉庫]並直接調用該過程? – billinkc 2012-07-10 01:21:38

+0

實際上我必須在mas服務器中部署代碼。 [數據倉庫]服務器位於不同的機器上。是否可以在不同的機器上部署作業並在不同的服務器上調用sp?如果是的話,你可以解釋一下嗎? – 2012-07-10 05:48:51

回答

1

如果您在數據流中使用存儲過程作爲源,請注意存儲過程因元數據問題而臭名昭着。 SSIS很難翻譯存儲過程的返回集,因爲它們可以有多個命令,並不總是意味着要返回一個數據集。因此我總是嘗試使用視圖和/或僅僅查詢。本文討論此問題:http://consultingblogs.emc.com/jamiethomson/archive/2006/12/20/SSIS_3A00_-Using-stored-procedures-inside-an-OLE-DB-Source-component.aspx請注意,本文主要介紹SQL Server,但也有少數人對Oracle進行評論。希望這可以幫助。

相關問題