我已经使用Visual Studio数据工具2015创建了一个ReportProject。使用报表向导创建report.rdl文件时,rdl文件具有2016架构。我的报表服务器的版本为12.0.4213.0。

如何创建与我的报告服务器兼容的report.rdl。我尝试通过右键单击项目->属性并将targetserverversion更改为“Sql server 2008 R2、2012或2014”来更改TargetServerVersion。但这也不起作用。

最佳答案

编辑:只要不使用任何2016功能,您设置为TargetServerVersion属性的特定版本的报告就会在BIN(\ debug或构建位置)中创建。

我试图找到相同的答案。您可能会认为,只需按照解决方案的方式设置解决方案的TargetServerVersion即可使它使用正确的报告定义(或者可选地,他们可以为您提供添加2016年前报告项目的选项)

在此之前,如果右键单击.rdl和“查看代码”,则可以更改以下行以使其在SQL 2014中起作用-只需对原始.rdl进行备份,以防万一您犯错了:

1)将报告xmlns行替换为以下内容:

<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

2)删除ReportSections和ReportSection行,将子树结构主体标签等保持在其下方)。因此删除这些:
  <ReportSections>
    <ReportSection>

还有这些...
    </ReportSection>
  </ReportSections>

3)删除整个ReportParametersLayout部分。因此(例如)删除此代码:
  <ReportParametersLayout>
    <GridLayoutDefinition>
      <NumberOfColumns>4</NumberOfColumns>
      <NumberOfRows>2</NumberOfRows>
    </GridLayoutDefinition>
  </ReportParametersLayout>

点击保存,返回设计并运行报告。如果您尚未修改设计,它将在SQL2014中运行。更改任何字段的那一刻,它将恢复为2016模式。

如果有人看到解决此问题的方法,请告诉我们。谢谢!

07-28 06:34