报告参数不适用于 SSRS 中的动态连接字符串
Report Parameters not work with Dynamic Connection String in SSRS
我们目前正在做一个项目来分发从SSRS生成的报告,该报告针对具有不同调查列表的不同数据库(每个数据库都有不同的调查列表),因此我们使用基于表达式的连接字符串(动态连接) 在报表设计中。
连接表达式:
="data source=ServerName;initial catalog=" & Parameters!DatabaseName.Value
参数为databaseName和surveyId。
databaseName:目标数据库名称,用于数据源连接。
surveyId: survey Identity,其可用值根据databaseName参数更新。
我们使用报表生成器来设计报表,它在报表生成器中工作正常,调查列表在更改数据库名称后更新。
但是在将 RDL 文件上传到 SSRS 服务后,报告无法从门户网站更改 databaseName 参数,始终保持默认值。
请告诉我如何使参数在 SSRS 门户网站中起作用,数据源连接字符串是否有问题?
顺便说一句:我们使用 Report Builder 2016 和 SQL 服务器 2016,数据库是 Azure SQL 数据库。
提前致谢。
我认为您的问题是由于 PERMISSIONS.
当您 运行 来自 Report Builder 的报告时,它会使用您的帐户(windows 用户),因为数据源中没有指定凭据。
当报表部署到报表服务器时,它试图允许服务器访问服务器但它没有权限。
您需要为 SSRS 报告服务器添加用户和密码,并将凭据添加到您的数据源表达式或 为 SSRS 授予数据库或服务器权限服务器帐户。
我们目前正在做一个项目来分发从SSRS生成的报告,该报告针对具有不同调查列表的不同数据库(每个数据库都有不同的调查列表),因此我们使用基于表达式的连接字符串(动态连接) 在报表设计中。
连接表达式:
="data source=ServerName;initial catalog=" & Parameters!DatabaseName.Value
参数为databaseName和surveyId。
databaseName:目标数据库名称,用于数据源连接。
surveyId: survey Identity,其可用值根据databaseName参数更新。
我们使用报表生成器来设计报表,它在报表生成器中工作正常,调查列表在更改数据库名称后更新。
但是在将 RDL 文件上传到 SSRS 服务后,报告无法从门户网站更改 databaseName 参数,始终保持默认值。
请告诉我如何使参数在 SSRS 门户网站中起作用,数据源连接字符串是否有问题?
顺便说一句:我们使用 Report Builder 2016 和 SQL 服务器 2016,数据库是 Azure SQL 数据库。
提前致谢。
我认为您的问题是由于 PERMISSIONS.
当您 运行 来自 Report Builder 的报告时,它会使用您的帐户(windows 用户),因为数据源中没有指定凭据。
当报表部署到报表服务器时,它试图允许服务器访问服务器但它没有权限。
您需要为 SSRS 报告服务器添加用户和密码,并将凭据添加到您的数据源表达式或 为 SSRS 授予数据库或服务器权限服务器帐户。