Crystal Reports:随机出现"数据库文件'命令'已更改"错误消息

2020-09-01 10:49发布

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

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


我正在使用《 Crystal Reports 2016》,这份特别的报告与我有关。 数据库源未进行任何更改时,报告将随机引发"数据库文件'命令'已更改"消息。 报表数据的命令也未更改。 所以我不知道是什么触发了此消息?

这是命令中SQL的一部分。

如果{?PercentType} ='90'
 开始
 if('{?pgmid}'如'1'+'%')和'{?geotype}'='station_response_area'
 开始
 选择identity_num,
 单元,
 event_date,
 station_response_area作为地理类型,
 measure_time,
  CONVERT(CHAR(8),DATEADD(second,measure_time,0),108)作为Response_Time,
  pgmid,
 pgm,
 NFPA标准,
 响应类别
 符合标准
 将(measure_time作为varchar)转换为time_sec,
 pgmdorder
 来自vw_nfpa_firstArv_RPT
 介于'{?BeginDate}'和'{?EndDate}'之间的event_date
 和{_incidenttype}中的event_type
 和{_propertyuse}中的property_use
 和pgmid = {?PgmID}
 按measure_time asc排序
 结束

 if((('{?pgmid}'如'2'+'%')或('{?pgmid}'如'3'+'%'))和'{?geotype}'='station_response_area'
 开始
 选择identity_num,
        单元,
 event_date,
 station_response_area地理类型,
 pgmid,
            pgm,
 NFPA标准,
 响应类别
 符合标准
        measure_time,
  CONVERT(CHAR(8),DATEADD(second,measure_time,0),108)作为Response_Time,
 将(measure_time作为varchar)转换为time_sec,
 pgmdorder
 来自[DW_PROD]。[dbo]。[vw_nfpa_ERF_RPT]
 介于'{?BeginDate}'和'{?EndDate}'之间的event_date
 和{_incidenttype}中的event_type
 和{_propertyuse}中的property_use
 和pgmid = {?PgmID}
 按measure_time asc排序
 结束
 结束
 .... 

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

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


我正在使用《 Crystal Reports 2016》,这份特别的报告与我有关。 数据库源未进行任何更改时,报告将随机引发"数据库文件'命令'已更改"消息。 报表数据的命令也未更改。 所以我不知道是什么触发了此消息?

这是命令中SQL的一部分。

如果{?PercentType} ='90'
 开始
 if('{?pgmid}'如'1'+'%')和'{?geotype}'='station_response_area'
 开始
 选择identity_num,
 单元,
 event_date,
 station_response_area作为地理类型,
 measure_time,
  CONVERT(CHAR(8),DATEADD(second,measure_time,0),108)作为Response_Time,
  pgmid,
 pgm,
 NFPA标准,
 响应类别
 符合标准
 将(measure_time作为varchar)转换为time_sec,
 pgmdorder
 来自vw_nfpa_firstArv_RPT
 介于'{?BeginDate}'和'{?EndDate}'之间的event_date
 和{_incidenttype}中的event_type
 和{_propertyuse}中的property_use
 和pgmid = {?PgmID}
 按measure_time asc排序
 结束

 if((('{?pgmid}'如'2'+'%')或('{?pgmid}'如'3'+'%'))和'{?geotype}'='station_response_area'
 开始
 选择identity_num,
        单元,
 event_date,
 station_response_area地理类型,
 pgmid,
            pgm,
 NFPA标准,
 响应类别
 符合标准
        measure_time,
  CONVERT(CHAR(8),DATEADD(second,measure_time,0),108)作为Response_Time,
 将(measure_time作为varchar)转换为time_sec,
 pgmdorder
 来自[DW_PROD]。[dbo]。[vw_nfpa_ERF_RPT]
 介于'{?BeginDate}'和'{?EndDate}'之间的event_date
 和{_incidenttype}中的event_type
 和{_propertyuse}中的property_use
 和pgmid = {?PgmID}
 按measure_time asc排序
 结束
 结束
 .... 
付费偷看设置
发送
2条回答
大圣 - sap领域执行人,9年sap运营经验
1楼 · 2020-09-01 11:32.采纳回答

查看命令,两个查询中的Response_Time不在同一位置,其他两个字段的顺序也不相同。 Crystal内部跟踪查询中每个字段的数据类型和位置,因此当您更改字段顺序时,它将告诉您查询已更改。 在这两个字段中使用相同的顺序将防止出现该消息。

-Dell

南山jay
2楼-- · 2020-09-01 11:21

我不知道。 我将所有字段按相同顺序放置,然后再次进行测试。 感谢您提供信息!

一周热门 更多>