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