Электронная почта не передает параметры и выходит в виде пустого PDF - PullRequest
0 голосов
/ 28 июня 2019

с использованием SQL Server 2012 Standard Edition, но мне нужно настроить управляемую данными подписку для динамической отправки отчета по электронной почте.

Я прочитал несколько статей, и я близок к решению, я получил его, где он создает электронную почту, единственная проблема - это не передача параметров, и электронная почта выходит в виде пустого PDF.

WHILE EXISTS
      (
          SELECT *
          FROM dbo.gs as GS
          WHERE GS.Processed = 0
                OR GS.Processed IS NULL
      )
BEGIN

    DECLARE @referenceid INT
    SET @referenceid =
    (
        SELECT TOP 1
               reference_id
        FROM dbo.gs AS GS
        WHERE GS.Processed = 0
              OR GS.Processed IS NULL
        ORDER BY GS.reference_id
    )
    DECLARE @site VARCHAR(100)
    SET @site =
    (
        SELECT TOP 1
               sitename
        FROM dbo.gs AS GS
        WHERE GS.reference_id = @referenceid
    )

    SELECT GSSIP.*
    FROM gs AS GS
    WHERE GS.reference_id = @referenceid


    UPDATE [ABC].ReportServer.dbo.Subscriptions
    SET ExtensionSettings = '<ParameterValues>
  <ParameterValue>
  <Name>TO</Name>
  <Value>' + CAST(dbo.GetProspectSurveyEmail() COLLATE Latin1_General_CI_AS_KS_WS AS VARCHAR(100))
                            + '</Value>
  </ParameterValue>
  <ParameterValue>
  <Name>IncludeReport</Name>
  <Value>True</Value>
  </ParameterValue>
  <ParameterValue>
  <Name>RenderFormat</Name>
  <Value>PDF</Value>
  </ParameterValue>
  <ParameterValue>
  <Name>Subject</Name>
  <Value>@ReportName executed at @ExecutionTime</Value>
  </ParameterValue>
  <ParameterValue>
  <Name>IncludeLink</Name>
  <Value>False</Value>
  </ParameterValue>
  <ParameterValue>
  <Name>Priority</Name>
  <Value>NORMAL</Value>
  </ParameterValue>
  </ParameterValues>'
    WHERE SubscriptionID = 'b6d198c0-850b-4aa2-8152-3a772de527c4'
    --SELECT * FROM [ABC].ReportServer.dbo.Subscriptions   WHERE SubscriptionID = 'DA56B952-9759-403D-B5C7-439DE73809D4'

    EXEC [ABC].msdb..sp_start_job @job_name = N'C1525782-F1F8-495D-95F4-A3C468B1CB14'
    SELECT Parameters,
           S.ExtensionSettings
    FROM [ABC].ReportServer.dbo.Subscriptions AS S
    WHERE SubscriptionID = 'b6d198c0-850b-4aa2-8152-3a772de527c4'

    UPDATE dbo.gs
    SET Processed = 1
    WHERE reference_id = @referenceid

    WAITFOR DELAY '00:00:10'

END

Я попытался обновить поле 'параметры' в таблице подписок, но это фактически убило подписку в отчете.

Любая помощь будет оценена

Пожалуйста, сообщите

Спасибо

...