Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services 基于SSRS参数的数据库变更_Reporting Services_Ssrs 2008_Ssrs 2012_Ssrs 2008 R2 - Fatal编程技术网

Reporting services 基于SSRS参数的数据库变更

Reporting services 基于SSRS参数的数据库变更,reporting-services,ssrs-2008,ssrs-2012,ssrs-2008-r2,Reporting Services,Ssrs 2008,Ssrs 2012,Ssrs 2008 R2,我正在尝试使用报表生成器从SQL server检索数据。因为我们为不同的客户提供了不同的数据库,所以我想切换数据库,我查询的表在每个数据库中都有相同的名称 我的想法是使用一个参数,这就是我想到的: use @db Select H.TK_RC, R.Result_Description, count(*) as aantal from dbo.TK_HISTORY as H LEFT JOIN CWESystemConfig..Result_Code as R on H.Project_ID

我正在尝试使用报表生成器从SQL server检索数据。因为我们为不同的客户提供了不同的数据库,所以我想切换数据库,我查询的表在每个数据库中都有相同的名称

我的想法是使用一个参数,这就是我想到的:

use @db

Select H.TK_RC, R.Result_Description, count(*) as aantal from dbo.TK_HISTORY as H
LEFT JOIN CWESystemConfig..Result_Code as R on H.Project_ID = R.Project_ID and H.TK_RC = R.Result_Code
Where R.Result_Group = 1 and  H.Project_ID = @pid and H.TK_CD between @startdate and @enddate
group by H.TK_RC, R.Result_Description
代码本身正在工作,我遇到的问题是在报表生成器中创建数据集时。我认为这是因为报表生成器找不到起始点(当然),它不断弹出“定义查询参数”弹出窗口,无论我做什么,都会出现错误: 无法更新查询的字段列表。验证是否可以连接到数据源等

如果我删除
use@db
,它确实有效,所以这就是问题所在。我可以看到这个问题,因为这是一个变量,报表生成器看不到有效的查询


我就是不能让它工作,任何有修复或解决方法建议的人?

您应该能够通过使用表达式作为数据源连接字符串来实现这一点。在数据集查询中不需要使用
use
语句

对于到SQL Server的简单连接,您可以使用

="data source=mySQLServer;initial catalog=" & Parameters!db.Value
其中@db参数具有数据库的名称

注意事项:

  • 必须使用嵌入式数据源-不能在共享数据源中使用表达式
  • 您应该使用固定连接来设计和测试报表,然后在您满意后,将连接更改为使用表达式
这是你应该看到的屏幕截图


您应该能够通过使用表达式作为数据源连接字符串来实现这一点。在数据集查询中不需要使用
use
语句

对于到SQL Server的简单连接,您可以使用

="data source=mySQLServer;initial catalog=" & Parameters!db.Value
其中@db参数具有数据库的名称

注意事项:

  • 必须使用嵌入式数据源-不能在共享数据源中使用表达式
  • 您应该使用固定连接来设计和测试报表,然后在您满意后,将连接更改为使用表达式
这是你应该看到的屏幕截图