如何将SSRS服务器配置为仅发送报表服务器URL?

时间:2016-12-01 00:16:52

标签: sql-server reporting-services ssrs-2016 ssrs-subscription

我需要在SQL 2016中禁用在SSRS订阅中附加报告的选项。唯一可用的选项是发送报告URL。

SSRS Subscription Setup

我很好奇如何从MSDN执行推荐的方法到#34;将报表服务器配置为仅发送报表服务器URL"在本文https://msdn.microsoft.com/en-us/library/ms160334.aspx中找到。

我尝试在我的rsreportserver.config中排除渲染格式,但它似乎没有做任何事情。

    <ExcludedRenderFormats>
      <RenderingExtension>PDF</RenderingExtension>
    </ExcludedRenderFormats>

我使用SSRS Native模式安装了测试SSRS 2016环境,但如果需要,我可以使用非默认配置卸载并重新安装。

1 个答案:

答案 0 :(得分:1)

我明白了。在rsreportserver.config中,找到以下元素:

<?php

$text_to_encrypt = 'My super secret information.';

function random_string($length = 16, $alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyz') {
    if ($length < 1) {
        throw new InvalidArgumentException('Length must be a positive integer');
    }
    $string = '';
    $alphamax = strlen($alphabet) - 1;
    if ($alphamax < 1) {
        throw new InvalidArgumentException('Invalid alphabet');
    }
    for ($i = 0; $i < $length; ++$i) {
        $string .= $alphabet[random_int(0, $alphamax)];
    }
    return $string;
}

$key = random_string(16);
$iv = random_string(16);

// To encrypt
$encrypted_message = base64_encode(openssl_encrypt($text_to_encrypt, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv));

// To decrypt
$decrypted_message = openssl_decrypt(base64_decode($encrypted_message), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);

// Result
var_dump('<b>Text to be encrypted:</b> ' . $text_to_encrypt);
var_dump('<b>Key:</b> ' . $key);
var_dump('<b>Initialization vector:</b> ' . $iv);
var_dump('<b>Encrypted message:</b> ' . $encrypted_message);
var_dump('<b>Decrypted message:</b> ' . $decrypted_message);

该元素内部是添加排除文件类型的元素。只需添加所有支持的文件类型,即可有效禁用附件选项。

<Extension Name="Report Server Email" Type="Microsoft.ReportingServices.EmailDeliveryProvider.EmailProvider,ReportingServicesEmailDeliveryProvider">

最后,重新启动SQL Server Reporting Services服务。

期望的最终结果:

enter image description here