也许基于表达式的连接字符串在这里会有所帮助?
文档有一个非常清晰的示例,即类似于以下的连接字符串:
="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks
这些允许您仍然传递一个参数来定义数据源,但它还允许您单独存储凭据,这样您在调用报告时就不必传递任何安全细节。
评论后补充:
这是一个带有基于表达式的连接字符串的示例报告。
您可以看到连接字符串使用一个参数来确定它的确切连接位置;这可以根据您的需要进行更新。
凭据存储在数据源中;您可以存储凭据(参见上面的屏幕截图),或者您可以选择任何其他适合的选项,例如 Windows 集成安全性。
所以它可能不完全适合你,但这是这种可配置数据源要求的内置 SSRS 功能。
第二次编辑:
在上面的示例中,Parameters!ServerName.Value
确实是一个报表参数,您只需像创建其他任何参数一样创建它。根据报告的启动方式,您可以将其设为隐藏参数并处理代码中发送的实际值;这只是一个实施问题,完全取决于您。
对于基于表达式的连接字符串,数据源必须存储在报表中,并且其连接字符串在运行时确定。
因此,您可以根据一个或多个参数构建所需的任何内容 - 它只是您正在构建的字符串值,因此您可以根据自己的目的制作任何内容;您可以将其指向所需的任何服务器/数据库组合。请澄清这是否不能回答您的问题。