如何从 Azure 数据工厂中的存储过程获取日期字符串输出?

How to get date String output from stored procedure in Azure Data Factory?

我在 Azure SQL 数据库中有一个存储过程,returns 2 个输出参数,startDateendDate 基于输入日期字符串。

这是存储过程:

CREATE PROCEDURE dbo.SP_DEDUCE_START_DATE_END_DATE
    @inputDateTimeString NVARCHAR(MAX) NULL,
    @startDate NVARCHAR(MAX) NULL OUT,
    @endDate NVARCHAR(MAX) NULL OUT
AS
BEGIN
    -- exact logic omitted as to demonstrate the 2 outputs date string only
    SELECT 
        @inputDateTime AS inputDateTime, 
        @startDate AS startDate, @endDate AS endDate

    RETURN;
END
GO

我正在寻找的是:完整的端到端解决方案:

  1. 从存储过程中获取 2 个输出日期字符串 startDateendDate
  2. 将 2 个日期字符串存储到 2 个管道变量 START_DATEEND_DATE(因为我有其他处理逻辑来影响管道变量)
  3. 将 2 个管道变量作为参数提供给下游数据流

我有什么tried/viewed:

  1. link in this - 很接近,但不是完整的答案,因为语法似乎不完整
  2. link提到存储过程activity不能用于访问SP输出;将需要查找 activity 而不是

我想分享我最终的端到端工作解决方案。

以下是我最终管道的简要概述: 查找 activity 以触发 SP;然后设置2个变量,然后馈送到下游数据流。

提供给 SP 的参数语法: 您必须检查 2 个输出的 Treat as null 选项。然后将日期字符串提供给 SP。

读取 SP 输出并设置变量(此处仅使用 START_DATE 作为示例,因为 END_DATE 相同):

输入@activity('SP_DEDUCE_START_DATE_END_DATE').output.firstRow.startdate

将 2 个变量提供给下游数据流:

在管道表达式中输入@variables('START_DATE')