Crystal Reports Java Viewer数据库连接器错误

2020-08-27 22:24发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在使用使用Java的Cry...

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

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


我们正在使用使用Java的Crystal Reports-Java报表组件(JRC)的基于服务器的报表查看器替换原来的Crystal Report Viewer(以前是在本地运行的Visual Basic应用程序)。 不幸的是,某些以前可以运行的报告现在在网页中返回数据库连接器错误。

我们的记录选择公式为:

{eMAR_order_data.FACILITY} = {?FacilityID}和{eMAR_order_data.PATID} = {?ClientID},并且(如果{?EpisodeNumber}从" 1"到" 999999",则{eMAR_order_data.EPISODE_NUMBER} = ToNumber({? EpisodeNumber}),否则,如果{?EpisodeNumber} =" ALLOUTPATIENT",则{eMAR_order_data.tx_setting_code} =" O",如果{?EpisodeNumber} =" ALL",则1 = 1)和{eMAR_order_data.order_start_date} <= {?OrdersActiveThruDate} 和{eMAR_order_data.order_stop_eff_date}> = {?OrdersActiveFromDate}和(如果{?OrderTypes}中的{@OrderTypes>""然后{@OrderTypePacked})和(如果{?HideOrdersEnabled} =" Y",则{eMAR_order_data.hide_order_code} <>" Y",否则,如果{?HideOrdersEnabled} <>" Y",则1 = 1)和((如果{?VerifyOrderReg} =" 1",则{eMAR_order_data.rou_prn_other_code} <>" STAT"和{eMAR_order_data.pharmacy_verified_code} <>" N")或(如果{?VerifyOrderReg} <>" 1",则{eMAR_order_data.rou_prn_other_code} <>" STAT")或(如果{?VerifyOrderRegSTAT} =" 1",则{eMAR_order_data.rou_prn_other_code} =" STAT "和{eMAR_order_data.pharmacy_ver ified_code} <>" N")或(如果是{?VerifyOrderRegSTAT} <>" 1",则{eMAR_order_data.rou_prn_other_code} =" STAT"))

如果?EpisodeNumber是包含数字值的字符串,则此方法运行良好。 但是,如果字符串包含" ALL"或" ALLOUTPATIENT",则报告将产生"意外的数据库连接器错误"。

我玩过唱片选择公式,并替换了:

如果{?EpisodeNumber}从" 1"到" 999999",则{eMAR_order_data.EPISODE_NUMBER} = ToNumber({?EpisodeNumber})否则,如果{?EpisodeNumber} =" ALLOUTPATIENT",则{eMAR_order_data.tx_setting_code} =" O" 否则,如果{?EpisodeNumber} =" ALL",则1 = 1

如果{?EpisodeNumber} =" ALL",则1 = 1,否则,如果{?EpisodeNumber} =" ALLOUTPATIENT",则{eMAR_order_data.tx_setting_code} =" O",如果{?EpisodeNumber}在" 1"至" 999999" 然后{eMAR_order_data.EPISODE_NUMBER} = ToNumber({?EpisodeNumber})

这个新公式很好用。 我的问题是:为什么? 我们还有其他报告,我们也知道这些报告在以前运行良好的情况下也会失败。 由于Crystal用于临时报告,因此这可能会影响数百个报告。 有没有办法确定某种语法是否不适用于Java并识别那些报告?

我们正在为数据后端连接到Intersystems Cache 2017数据库。

6条回答
hongfeng1314
2020-08-27 22:49

嗨,布莱恩,

感谢您所做的所有工作 您要复制它。 我收到了报告,并能够解决问题并将报告传递给开发人员。 当我得到它时,我将传递他们的答复。

Shawn

一周热门 更多>