2012-07-09 76 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进行评论。希望这可以帮助。

相关问题