如果应用程序要求附加的可伸缩性和报表修改功能,则可以将报表服务器升级到 RAS,并对现有代码执行最少量更改来迅速迁移应用程序。 Crystal Enterprise 使用 RAS 对象模型。RAS 提供了非 Java Reporting Component 附带的附加可伸缩性和报表修改功能。
要迁移 Web 应用程序以使用 RAS,必须首先获得并安装一份 RAS。正确安装并配置了 RAS 后,您将能够迁移 Web 应用程序。
从 Java Reporting Component 到 RAS 的迁移路径因应用程序是否使用 ReportClientDocument 类而异。
如果 Web 应用程序使用 ReportClientDocument 类来获取报表源,则必须更改 JSP 导入语句,以便使用 RAS 命名空间(而不是 Java Reporting Component 命名空间)。
例如,将 com.crystaldecisions.reports.sdk.*
更改为 com.crystaldecisions.sdk.occa.report.application.*
。
ReportClientDocument clientDoc = new ReportClientDocument();
clientDoc.setReportAppServer("SERVERNAME");
注意: 建议您使用 ReportClientDocument 类来查看或导出报表。
如果 Web 应用程序不使用 ReportClientDocument 对象,则必须更改代码,以便使用相应的 RAS 类来代替 Java Reporting Component 类。执行此操作的代码因您使用的是托管的还是非托管的 RAS 而异。
下面是原始 Java Reporting Component 代码:
IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
在托管的环境中(如 Crystal Enterprise 专业版),删除用于导入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
的导入语句。还必须将原始 Java Reporting Component 代码更改为以下形式:
IReportSourceFactory2 rptSrcFactory = (IReportSourceFactory2)enterpriseSession.getService("RASReportFactory");
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
注意: 上面的代码假设您已创建了有效的 enterpriseSession 对象。
在非托管的环境中(如 Crystal Enterprise 内嵌版),删除用于导入 com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory
的导入语句。然后,您必须添加一个导入语句,以便导入 com.crystaldecisions.sdk.occa.report.application.reportsourcefactory.RasReportSourceFactory
。此外,必须将原始 Java Reporting Component 代码更改为以下形式:
IReportSourceFactory2 rptSrcFactory = new RasReportSourceFactory();
Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());
在非托管的环境中,还必须指定 RAS 服务器的位置。 有关指定 RAS 的位置的详细信息,请参阅报表应用程序服务器 Java SDK 指南。
Business Objects http://www.china.businessobjects.com/ 支持服务 http://www.china.businessobjects.com/services/services.htm |