【发布时间】:2017-07-11 16:32:28
【问题描述】:
我正在尝试使用 SSIS 执行以下操作。我正在使用 SDT 最新版本并查询 SQL Server 2008 R2。
有人可以建议我是否做错了,是否有更好的方法
我基本上需要从源执行存储过程并将结果存储在目标中。大约有 20 个存储过程。
每个存储过程都将 XML 作为输入。我在该数据流任务中创建了一个控制任务。在数据流中,我正在创建 oledb 源。
我选择了数据访问模式作为 SQL 命令。我在下面创建了我的查询,但是当我预览时,我收到错误说声明语句不受支持
DECLARE @xmldata XML
SET @xmldata = (SELECT DISTINCT TOP 1000 (mc.companyId) AS id
FROM ciqMarketCap mc
JOIN ciqCompany c ON c.companyid = mc.companyid
WHERE c.companyStatusTypeId NOT IN (5, 6)
AND c.companyTypeId IN (1, 4)
FOR XML PATH(''), TYPE, ROOT('partyIds'))
EXEC getPartiesMarketData @xmldata
如何执行其余的存储过程?我需要创建多个 oledb 源吗?
【问题讨论】:
-
为什么不创建一个包装器 SP 来满足您的需求,然后从 SSIS 调用它?
-
你的意思是我在包装器中执行了 20 个存储过程,但是我如何将 20 个结果集定向到目标中的 20 个表
-
我是新的 SSIS。如果你给我一个例子会很有帮助。另请注意,xml 的逻辑对于所有 SP 都是相同的
标签: sql-server sql-server-2008 ssis