每当我构建使用嵌入式数据集的报表并尝试使用参数(例如 @StartDate 和 @EndDate)时,我都会收到一条错误消息,指出我必须声明标量值。但是,仅当我设置使用“安全存储在报表服务器中的凭据”选项的数据源时,才会出现此错误。如果我将数据源设置为使用“Windows 集成安全性”,我不会收到错误消息。
我完全不知所措。这些报告需要大量的人访问。我们通过 SSRS 通过 Active Directory 组授予他们“浏览器”权限,包括数据源。
最好的方法是什么?有简单的解决方法吗?
每当我构建使用嵌入式数据集的报表并尝试使用参数(例如 @StartDate 和 @EndDate)时,我都会收到一条错误消息,指出我必须声明标量值。但是,仅当我设置使用“安全存储在报表服务器中的凭据”选项的数据源时,才会出现此错误。如果我将数据源设置为使用“Windows 集成安全性”,我不会收到错误消息。
我完全不知所措。这些报告需要大量的人访问。我们通过 SSRS 通过 Active Directory 组授予他们“浏览器”权限,包括数据源。
最好的方法是什么?有简单的解决方法吗?
我通常使用已设置的选项进行部署,方法是进入数据源并选择“登录到 SQL Server”部分 >“使用 SQL Server 身份验证”>(设置您的用户和设置)。当您在部署后将 Windows 用户用作主要用户时,可能会出现问题。
另一个问题是,这在 Business Intelligence Development Studio、BIDS 中是否始终正常工作,而不是在服务器上?非常有趣的是,仅权限问题就会导致返回标量错误。通常,当用户必须访问报告时,他们可能仍然会收到错误,但不存储凭据只是要求他们提供凭据。这将有助于更多地了解数据集以及它们正在返回或应该返回的内容。通常,开始和结束通常在 SSRS 中定义为“DataTime”,并且位于诸如“@Start 和 @End 之间的事物”之类的谓词中,并且用户从日历中选择数据。如果您将它们绑定到其他数据集,并且用户可能会选择多个可能会出现问题的值。
我查看了我们的 DBA 设置的数据源。它被设置为 ODBC 连接。我将其更改为 Microsoft SQL。现在可以了。我不明白为什么,如果有经验更丰富的人可以解释,我将不胜感激。