水晶报表-序列化

2020-09-21 09:26发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在使用CrystalDecisions 13.0.1 dll。 (由于许可问题而无法升级)

我正在使用 asp.net 4.7。

我想禁用系统中的会话。 因此,我无法在会话中保存" ReportDocument"对象,因此可以在回发时(使用分页等时)读取它。

所以我想序列化对象,以便将其存储在缓存服务器(couchbase)中

我看到了这个例子:

ISCDReportClientDocument ReportClientDocument = doc.ReportClientDocument;

CrystalDecisions.ReportAppServer.Utilities.Conversion转换器=新的CrystalDecisions.ReportAppServer.Utilities.Conversion();

serializedCrystalReportDocument = converter.ToString(ReportClientDocument);

但是我的CrystalDecisions.ReportAppServer dll版本中不存在"实用程序"命名空间。

我还有另一种方法来序列化/反序列化此对象吗?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在使用CrystalDecisions 13.0.1 dll。 (由于许可问题而无法升级)

我正在使用 asp.net 4.7。

我想禁用系统中的会话。 因此,我无法在会话中保存" ReportDocument"对象,因此可以在回发时(使用分页等时)读取它。

所以我想序列化对象,以便将其存储在缓存服务器(couchbase)中

我看到了这个例子:

ISCDReportClientDocument ReportClientDocument = doc.ReportClientDocument;

CrystalDecisions.ReportAppServer.Utilities.Conversion转换器=新的CrystalDecisions.ReportAppServer.Utilities.Conversion();

serializedCrystalReportDocument = converter.ToString(ReportClientDocument);

但是我的CrystalDecisions.ReportAppServer dll版本中不存在"实用程序"命名空间。

我还有另一种方法来序列化/反序列化此对象吗?

谢谢

付费偷看设置
发送
5条回答
小灯塔
1楼 · 2020-09-21 09:44.采纳回答

要进行反序列化,有一种方法可以传递序列化字符串。

ReportClientDocument rcd = converter.ToReportClientDocument(serializedCrystalReportDocument)

这仅在使用RAS服务器的客户端-服务器方案中有效。 在您的情况下,您没有使用RAS服务器来处理报告,并且您的报告正在运行中。 ReportDocument和ISCDReportClientDocument对象不可序列化,这说明了为什么结果为空的原因。

序列化的字符串不是文档,而是包含足以连接回存储文档状态的RAS服务器的信息的字符串,因此仅在后端RAS服务器上处理报告的情况下才有效 。 为此,您需要一个BusinessObjects Enterprise系统或Crystal Reports Server Edition。

昵称总是被占用
2楼-- · 2020-09-21 09:53

您好唐·威廉姆斯

很显然,我们购买了CR Designer许可证,但您的以色列代表还向我们收取了在客户端服务器上安装运行时的费用。

升级我们的VS CR(SDK)可能是免费的,但是这还需要将我假设为每个客户端的运行时更新为相同的版本,并且他想再次向我们收费。

为了更新CR设计器,他还想再次向我们收费。

不是这样吗?

您随附的许可证还表明您必须付费才能升级。 (尽管不清楚是否需要为CR Designer升级或CR Runtime发行版升级或两者付费。)

蓋茨
3楼-- · 2020-09-21 09:48

嗨,阿隆,

实用程序名称空间可以在CrystalDecisions.ReportAppServer.DataSetConversion程序集中找到,

Dan

小熊yu生菜
4楼-- · 2020-09-21 09:28

感谢 Daniel Paulsen

我找到了名称空间,现在我在使用它时遇到了麻烦。

 ReportDocument doc = new ReportDocument();

         .....使用参数加载文件....

         ISCDReportClientDocument ReportClientDocument = doc.ReportClientDocument;
         CrystalDecisions.ReportAppServer.Utilities.Conversion转换器=新的CrystalDecisions.ReportAppServer.Utilities.Conversion();
         字符串serializedCrystalReportDocument = converter.ToString(ReportClientDocument);
 

serializedCrystalReportDocument为空。

还,我如何反序列化并加载它?

CJones
5楼-- · 2020-09-21 09:41

嗨,阿隆,

您还使用CR的SP 1 for VS,是因为您已将应用程序发布到第三方WEB托管站点,而他们使用的是哪个版本?

如果是这样,您确实需要让他们更新到最新版本,我们当前在SP 22上,或者找到一个将要更新的网站。

许多最新版本的安全更新,至少是SP 20,它仍在使用旧的VC 2005 C ++运行时,但将支持大多数框架版本。

查看平台PDF:

SAP Crystal Reports,Microsoft Visual Studio开发人员版本–支持的平台

一周热门 更多>