Как вызвать хранимую процедуру в Pentaho Data Integration? Типичный сценарий - PullRequest
1 голос
/ 06 января 2020

У меня есть сценарий ios, например, когда у меня нет доступа к целой таблице или таблице к одной из моих исходных БД, единственный способ получить доступ к нужным столбцам и перенести данные в слой 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

1 Ответ

0 голосов
/ 09 января 2020

Вот пример вызова хранимой процедуры на сервере 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
...