Winforms Crystal 2008中的服务器端报告?

Winforms Crystal 2008中的服务器端报告?,winforms,crystal-reports,Winforms,Crystal Reports,我希望将Crystal Reports 2008集成到Windows窗体应用程序中。我希望避免从客户端应用程序直接连接到数据库,同时为用户提供“完整”的报告体验。与Microsoft Reporting Services类似,Crystal Reports 2008是否可以将服务器上的报告执行到客户端Windows窗体客户端控件中?这并不是您真正想问的问题,但Crystal Reports server执行服务器端报告 不利的一面是,它非常昂贵 我无法对上述内容添加评论,因为我没有任何观点,但希

我希望将Crystal Reports 2008集成到Windows窗体应用程序中。我希望避免从客户端应用程序直接连接到数据库,同时为用户提供“完整”的报告体验。与Microsoft Reporting Services类似,Crystal Reports 2008是否可以将服务器上的报告执行到客户端Windows窗体客户端控件中?

这并不是您真正想问的问题,但Crystal Reports server执行服务器端报告

不利的一面是,它非常昂贵


我无法对上述内容添加评论,因为我没有任何观点,但希望这能有所帮助


Crystal Reports Server根据数据源运行报告本身,其思想是没有Crystal Reports或数据访问的客户端可以通过web运行报告,或者服务器运行计划报告并发送结果。我不知道你是否可以整合它。

我不知道它是否正是你想要的,但我可以想出两种方法来弥补它:

  • 您可以设置报表,使“数据库”为XSD文件,而不知道真正的后端。然后在运行时将数据推送到报表中
  • //在运行时创建适合您的环境的实例-仅示例:

    ReportClass rc=新的ReportClass()

    rc.Load(crystalReportFileName)

    rc.SetDataSource(myIEnumerableData)

    CrystalReportViewer crv=新的CrystalReportViewer()

    crv.ReportSource=rc

    //显示水晶查看器

    2-您可以在服务器上执行与1相同的操作(无论采用何种数据库方法),然后保存报告并将其推送到客户端

    //一些服务器端服务/方法等

    公共字节[]GetMyReport() {

    ReportClass rc=新的ReportClass()

    rc.Load(crystalReportFileName)

    rc.SetDataSource(myIEnumerableData)

    rc.SaveAs(serverSideFile,True);//True对于使用报表保存数据至关重要

    return..//将创建的文件转换为字节数组

    }

    //客户端

    字节[]rep=服务器。GetMyReport()

    ReportClass rc=……//将rep转换回crystal报告

    CrystalReportViewer crv=新的CrystalReportViewer()


    crv.ReportSource=rc

    Crystal Reports Server是否实际连接到数据库以从服务器获取报告数据?或者它只是为在客户端上处理的.rpt文件提供宿主?这似乎是最接近我所追求的。我必须进行测试,看看如果托管预填充的报表而不是在UI中填充报表,报表UI体验是否会受到影响。