2

我正在使用 SSDT 为 SSRS 2014 创建报告。我的机器上安装了 SQL Server 2014。我能够创建报告,那里没有问题。

部署时,我尝试更改目标版本,SSDT 仅显示 SQL Server 2008 和 SQL Server 2008 R2 及更高版本作为选项。为什么不显示 SQL Server Server 2014?我也尝试了“检测版本...”选项,但它仍然只指向 2008 年及更高版本。

当我回去检查.rdl文件的架构时,我惊讶地发现 2008 架构而不是 2010 架构,这是 2014 年的默认架构。

问题 :

  • 为什么 SSDT 中的模式仍然是 2008 而不是 2010?
  • 为什么 SSDT 没有检测到 SQL Server 2014?
4

2 回答 2

2

SQL Server Reporting Services 的架构是 2010(即 SQL Server 2008 R2)。您可以通过检查以下 URL(来自报表服务器)返回的根节点返回的 targetNamespace 属性来确认这一点:

http://localhost/reportserver/reportdefinition.xsd

SQL 2012 或 2014 中没有 RDL 架构更改。

https://msdn.microsoft.com/en-AU/library/ms170438(v=sql.110).aspx https://msdn.microsoft.com/en-AU/library/ms170438(v=sql.120) .aspx

这也是为什么 SSDT 部署将转到“SQL Server 2008 R2 或更高版本”的相同原因。

总而言之,您的环境运行正常。

于 2015-10-19T23:13:06.150 回答
0

我相信您的问题的答案可以在以下 MSDN 帖子中找到:
报表设计和报表部署计划(报表服务)

我将引用与您的问题最相关的部分:

当您在 SQL Server Data Tools (SSDT) 的报表设计器中打开报表时,报表定义将升级到当前支持的 RDL 架构。在项目属性中指定 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 报表服务器时,报表定义将保存在与目标服务器兼容的架构中。

将报表定义文件直接上传到报表服务器或 SharePoint 站点时,报表不会升级。在 SQL Server Data Tools 中升级报表定义是升级 .rdl 文件的唯一方法。

在下表中,只有第一行与您的情况相关。部署版本与编写的版本不同,对于 SQL Server 2014,这似乎是默认的 2008 RDL。

下表总结了对不同架构版本的创作和部署报告定义的支持 在此处输入图像描述

在这里您可以看到 VS 2013 只有 2008 RDL 可用,这解释了为什么您没有获得 2010 的选项。

下表提供了 ReportViewer 控件支持的用于本地处理 (.rdlc) 的 RDL 版本列表。报表服务器和 RDL 架构支持部分总结了服务器端 RDL 支持。

在此处输入图像描述

于 2015-10-23T14:15:49.683 回答