请问Reporting Service 建立的报表是rdl类型的,
 可是也可以直接在网站的添加新项里添加rdlc类型的报表文件,
 请问两者有什么区别,
  既然本地就可以建rdlc的报表的,那reporting service 还有什么用呢,为什么要建报表服务器呢,
  它有哪些特殊的功能吗?
  请高手指点!!!!!!

解决方案 »

  1.   

    rdl可以转成rdlc但是反之转不回去的
      

  2.   

    http://msdn.microsoft.com/zh-cn/library/ms252109.aspx
    相信这个会对你有帮助的!
      

  3.   

    .rdlc是VS2005中报表文件的后缀名,是Report Definition Language Client的缩写,直接翻译过来可以理解为报表定义语言客户端。这样听起来很难懂,不知所云。其实和rdlc同时存在的还有一个rdl,就是上面这个全程前3个单词的缩写。从SQL Server 2005开始,微软提供了一个报表服务(Reporting Service),而rdl是指那些针对报表服务部署在服务器端的报表,而rdlc是指在本地的一些报表。也就是说我们要使用报表不一定要依赖于SQL Server的Reporting Service,而是可以自主生成一些数据源然后通过报表的方式展现出来。如果和rdl比较,rdlc可以看成是一个轻量级的报表。在展现报表的时候我们需要使用到的一个控件叫ReportViewer,这种控件可以展现rdl报表,也可以展现rdlc报表。从其属性可以看出,ReportView.ServerReport是针对rdl报表的,而ReportViewer.LocalReport是针对rdlc报表的。里面设置的参数和内容也不尽相同。
      

  4.   

    To:winner2050
    非常感谢你的精彩回答,
    我感觉不论在灵活性,及对数据源的要求来说,直接在项目中用.rdlc文件做报表 要方便很多,
    那么在什么时用Reporting service来做报表呢,
    Reporting service究竟好在哪里,
    因为以前报表都是用水晶做的,现在要改成用.net报表,那我应该直接在项目里添加.rdlc文件来做啊,还是建立表报服务器???请高手指点
    对了,还有.rdlc的文件是否支持在代码里控制显示功能?就像水晶报表可以在代码里控制,节的高度,以及节中都显示哪些字段,感觉挺强的,不知.rdlc是否可以?请高手指点
      

  5.   

    RDL 和 RDLC 是由称为报表定义语言的 XML 架构定义的。这两种文件格式的架构是相同的。SQL Server 2005 联机丛书中介绍了这种架构。用来处理 .rdlc 文件的 ReportViewer 控件忽略 RDL 的 <Query> 元素。如果报表定义中包含查询,此控件将不处理它。在 SQL Server 2005 Reporting Services 中创建的报表(保存为 .rdl 文件)可以转换为 ReportViewer 控件所使用的客户端报表定义 (.rdlc) 文件格式。这称为 RDL 到 RDLC 转换。
      

  6.   

    http://msdn.microsoft.com/zh-cn/library/ms252109(VS.80).aspx
    http://www.cnblogs.com/chinhr/articles/1261892.html
    http://www.cnblogs.com/jiania1224/articles/1202748.html
      

  7.   

    .rdlc的文件是否支持在代码里控制显示功能?就像水晶报表可以在代码里控制,节的高度,以及节中都显示哪些字段,感觉挺强的,不知.rdlc是否可以?请高手指点
      

  8.   

    对了,大家项目中报表是用轻量级的rdlc文件啊,还是用报表服务器的rdl建报表啊
      

  9.   

    转换 RDL 文件和 RDLC 文件
    如果同时使用 ReportViewer 控件和 Microsoft SQL Server 2005 Reporting Services,则可以重用在这两种报表技术下创建的报表。在 SQL Server 2005 Reporting Services 中创建的报表(保存为 .rdl 文件)可以转换为 ReportViewer 控件所使用的客户端报表定义 (.rdlc) 文件格式。这称为 RDL 到 RDLC 转换。在 ReportViewer 控件中创建的报表(保存为 .rdlc 文件)可以转换为 SQL Server Reporting Services 中使用的报表定义 (.rdl) 文件格式。这称为 RDLC 到 RDL 转换。比较 RDL 和 RDLCRDL 文件和 RDLC 文件在技术和术语上有很重要的差异,如下所述:RDL 和 RDLC 是由称为报表定义语言的 XML 架构定义的。这两种文件格式的架构是相同的。SQL Server 2005 联机丛书中介绍了这种架构。用来处理 .rdlc 文件的 ReportViewer 控件忽略 RDL 的 <Query> 元素。如果报表定义中包含查询,此控件将不处理它。注意
    客户端报表定义 (.rdlc) 文件只有在源自 .rdl 文件时才会包含查询。数据集和数据源术语在 Visual Studio 2005 和 SQL Server 2005 中的含意不同。在 Visual Studio 中,数据集是数据表的集合,在逻辑上等同于检索数据的查询或命令。在 Reporting Services 中,数据集包括下列部分:数据源信息,包括数据源类型和连接字符串。数据源类型指定在报表服务器上部署的数据处理扩展插件。凭据信息,指定如何获取数据源连接的凭据。用来检索数据的查询或命令信息。将 .rdlc 文件配置为在 ReportViewer 控件中运行时,该文件的数据集对象、绑定源对象和表对象将直观地显示在设计器视图的底部。下图说明了这些对象如何显示在 Windows 窗体中(同一数据绑定对象在网页中的显示方式不同):
    如果选择 .rdlc 文件用于 ReportViewer 控件,而数据对象未出现在项目中,则您看到的很可能是重命名的 .rdl 文件,需要对该文件执行其他转换步骤才能使 .rdlc 文件正常运行。数据集名称可能会产生误解;默认情况下,Reporting Services 将数据源名称用于所创建的第一个数据集(例如,即使数据集只从一个表中检索数据,它也可能被称为“Northwind”)。如何转换报表定义只有 SQL Server 2005 RDL 文件可以转换为 RDLC 文件。如果您具有早期版本的 RDL 文件,则必须将其升级到 SQL Server 2005,才能将其转换为 .rdlc 文件格式。若要升级报表定义,请在 SQL Server 2005 版本的报表设计器中打开它。转换任何一种文件类型的报表定义都需要重新创建数据源和查询信息。确保所选择的数据源架构与原始报表中使用的数据源架构相同或在结构上相同。如果架构不同,则报表布局可能对要使用的数据源无效。如果希望使用不同的数据源,从头开始重新创建报表会比转换报表更容易些。RDL 到 RDLC 转换
    将 .rdl 文件转换为 .rdlc 格式时,必须用应用程序中提供的数据结构手动替换报表定义中的数据源和查询信息。使用 .rdlc 文件扩展名重命名 .rdl 文件。在 Visual Studio 2005 中,打开将要包含此报表的解决方案或项目。创建或添加用来定义要用于项目或解决方案的数据的数据集。有关详细信息,请参阅为 ReportViewer 报表创建数据源。在“项目”菜单上,单击“添加现有项”,然后选择第一步中创建的 .rdlc 文件。在此项目中,打开用来包含此报表的窗体或网页。从工具箱的数据组中,将 ReportViewer 控件拖到该窗体或网页上。在“ReportViewer 任务”智能标记面板的“选择报表”中,选择要在该控件中使用的 .rdlc 文件。在“ReportViewer 任务”智能标记面板的“选择数据源”中,选择要使用的数据集。数据集对象、绑定源对象和表对象将显示在工作区的底部。有关更新数据源引用的详细信息,请参阅更新和重新绑定数据源引用。保存所有文件,然后生成或部署此项目以验证该报表是否包含所需的数据。RDLC 到 RDL 转换
    满足下列条件时,.rdlc 文件将自动转换为 .rdl 格式:.rdlc 文件所使用的数据源使用集成安全性。通过数据表提供报表数据。如果 .rdlc 使用业务对象中的数据,则必须手动转换 .rdlc 文件。报表服务器不具有处理报表中的业务对象的能力。.rdlc 文件所使用的数据源映射到报表服务器上安装的数据处理扩展插件之一(例如,如果数据源是 SQL Server 数据库,则可以使用报表服务器上默认安装的 SQL Server 数据处理扩展插件)。不需要修改查询和数据源连接信息。若要自动转换 .rdlc,可以将 .rdlc 文件重命名为 .rdl,然后将 .rdl 文件发布或上载到报表服务器。可以使用 SQL Server 2005 中的 Business Intelligence Development Studio 发布 .rdl 文件。有关创建报表项目、发布报表、上载文件的详细信息,请参阅 SQL Server 2005 联机丛书。若要手动将 .rdlc 转换为 .rdl 文件格式,请执行下列步骤:确定要与 .rdl 文件一起使用的数据源。可以使用 SQL Server 关系数据库、Analysis Service 多维数据库、Oracle 数据库或任何其他支持的数据源。该架构必须与用来创建原始 .rdlc 报表布局的架构相同。使用 .rdl 文件扩展名重命名 .rdlc 文件。在 SQL Server 2005 的 Business Intelligence Development Studio 中,创建或打开用来包含此报表的报表服务器项目。在“项目”菜单上,单击“添加现有项”。选择第一步中创建的 .rdl 文件并将其添加到该项目中。在解决方案资源管理器中,打开刚刚添加到该项目中的 .rdl 文件。报表定义将在设计模式下打开。您将看到下列选项卡:“数据”选项卡、“布局”选项卡和“预览”选项卡。单击“数据”,在数据视图中打开此报表。在数据视图中,选择第一个数据集,然后单击编辑按钮 (...),如下图所示:
    在“数据集”对话框中,单击数据源名称旁边的编辑按钮 (...)。更新连接信息。应替换连接字符串,以便报表连接到要使用的数据源。可能需要更新数据源类型、服务器、身份验证选项和数据库选择。单击“运行”(!),验证数据源是否返回所需的数据。重复上述步骤,修改此报表中使用的任何其他数据源。预览此报表以验证数据是否按预期形式合并到报表布局中。若要预览此报表,请单击“预览”选项卡。
      

  10.   

    这个我做过,不知道方法对么!就是我用VS2005创建好的报表文件都是RDL文件,但是在VS2005本地调用的时候需要RDLC,于是我将该文件名字后缀名修改为RDLC文件,然后设置其数据源,运行就可以显示报表数据了,感觉本地调用太麻烦了,还是通过RDL报表先发布到服务器,然后通过VS2005ReportViewer控件设置其服务器ReportURL和ReportPath,给其参数赋值,这样就可以了。