如何在Pentaho Data Integration中调用存储过程?典型场景

问题描述 投票:1回答:1

我有这样的场景,例如,我没有选择访问整个表或访问我的Source DB的其中一个表的方式,唯一可以获取所需列并将数据带入Pentaho层的方法是通过存储过程。

下面是我编写的示例存储过程,在执行EXEC ABC_KLM_LOAD之后我可以在数据库中获得结果集,但不确定如何将该存储过程调用到Pentaho Data Integration中以继续通过PDI中的步骤进行验证

USE PDI_TEST
GO 

SET ANSI_NULLS ON 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE OR ALTER PROCEDURE ABC_KLM_LOAD 
AS 
BEGIN  
    SELECT * 
    FROM [ XYZ_01] 
END 
GO
pentaho-spoon pentaho-data-integration pdi
1个回答
0
投票

这里是在MS sql服务器上调用存储过程的示例。您需要在pdi转换中使用“表输入”步骤,然后编写类似的内容;

USE xxx_ReportService

DECLARE @DateFrom datetime, @DateTo datetime
SELECT @DateTo = CONVERT(date, DATEADD(DAY, -0, CURRENT_TIMESTAMP))
SELECT @DateFrom = DATEADD(DAY, -1, @DateTo)

EXEC [ZZZZ].[sp_SQLReport_GGG_SpecialReport]
        @GeneralServiceDB = 'xxx_GeneralService',
        @PaymentServiceDB = 'xxx_PaymentService',
        @DateFrom = @DateFrom,
        @DateTo = @DateTo
© www.soinside.com 2019 - 2024. All rights reserved.