点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,大家好,我遇到了一种奇怪的问...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,大家好,我遇到了一种奇怪的问...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,大家好,我遇到了一种奇怪的问题,它与实际数据库中的列名有关。 当前在生产环境中,媒体表具有属性" realFileName"而不是" p_realFIleName"。 当HYBRIS在属性中添加前缀(p_)时,我认为这是错误的,但是应用程序可以正常工作。 此问题可能与从4.5升级到5.6有关。 有一个OOTB cron作业(Lucene重建索引作业),用于重建lucene索引会引发错误,因为它试图从不存在的medias表中从列名" p_realFileName"中获取数据。
可能的解决方案是直接在DB中将列名重命名(realFileName为p_realFileName)。 但是我的问题是,此更改可能会对应用程序级别产生什么影响。 另外,由于列名当前为'realFIleName'(不带前缀p_),并且应用程序运行正常,但cron作业中的问题为何对应用程序没有影响。 HYBRIS如何从数据库的实际列中获取数据。
注意:如果执行初始化,则数据库中的列名称将变为" p_realFileName"。
谢谢!
您可以在类型系统中检查是否为此属性配置了什么列名。 转到hmc
System
->Type
,然后在选项卡Properties
中打开AbstractMedia
类型,您将找到属性realfilename
。 打开此属性,您将找到一个属性Database Column
,该属性定义了使用的列名。您还可以执行以下查询
从{media}
中选择{realFileName},这可能会导致sql查询,例如SELECT item_t0.p_realfilename FROM medias item_t0 WHERE(item_t0.TypePkString IN( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) )
,其中p_realfilename
应该与中的定义匹配 数据库列
。因此,当您重命名列时,需要调整类型系统。
我的建议是不要弄乱类型系统。 但是尝试通过修复发出的查询来修复作业。 因此,如果任何
Indexer查询
使用select p_realfilname ...
而不是select {realfilename}
,则可能要检查所有搜索配置。一周热门 更多>