【发布时间】:2015-07-23 23:15:44
【问题描述】:
我的数据流工作得很好,它是由查找组件评估的源的复合,然后它执行 upsert,图表如下所示:
现在,在 BanqueCIBI(ole db 源)上,我有一个 SQL 命令文本,我想在其中接收来自另一个组件的参数以将其用作 valueDate。这是现在的查询:
SELECT [IdTransactionType]
,[IdBank]
,[IdBanqueDetailHistoryRef]
,[IdBanqueDetail]
,[IdBanqueHeader]
,[CCI]
,[ValueDate]
,[Text]
,[Reference]
,[Amount]
,[Sign]
,[IdCurrency]
,[OrigBranch]
,[dtCreatedOrModified]
,[oldText]
,[oldReference]
,[IdAccount]
,[IdSubAccount]
,[Date]
,[IdRD]
,[Flag]
,[History]
,[DtDate]
,[iTIB]
,[iSAP]
FROM [dbCibi3].[dbo].[BanqueDetailHistoryRef]
WHERE [ValueDate] = '2015-31-01'
这是上面源代码中调用的 usp_GetDateParamsSSIS:
USE [dbMODIFE]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[usp_GetDateParamSSIS]
@name VARCHAR(50) = NULL,
@value DATETIME OUTPUT
AS
BEGIN
SELECT TOP 1 @value =valueDate FROM helperPARAMS_SSIS WHERE name = @name;
END
那么,我如何在 BanqueCIBI 组件上使用 @value OUTPUT 呢?非常感谢! (请注意,BanqueCibi 和新组件正在查询不同的服务器,并且由于公司的政策,链接服务不是一个选项)。
【问题讨论】:
-
您提供给存储过程的名称参数来自哪里?
-
我不确定您的评论是否正确。但它应该来自我刚刚添加的存储过程的输出。
-
Err,我在你的问题中只看到一个存储过程。它将 Name 作为输入并返回 Value 作为输出。所以我的问题是,当您调用它时,您从哪里获取将 IN 传递给存储过程的 Name 值?
-
啊,那是通过“硬编码”
标签: sql-server ssis oledb