我有这样的场景,例如,我没有选择访问整个表或访问我的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
这里是在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