更新为intra-mart Accel Platform 2014 Spring后,如果以系统管理员来操作数据库,将发生“HTTP 500 :服务器内部发生错误。”

 
此问题在2014 Summer(Honoka)中已修复。

需求[4469]更新为2014 Spring后,数据库操作页面将发生错误。 
https://issue.intra-mart.jp/issues/4469

【现象】
如果以系统管理员来进行数据库操作,将显示“HTTP 500 :服务器内部发生错误。”且无法进行数据库操作。

※输出的错误信息示例
--------------------------------
jp.co.intra_mart.common.aid.jsdk.javax.servlet.exception.ExtendedServletException: Runtime error: system/database/views/sql_input
:
(中间省略)
:
Caused by: java.lang.ClassNotFoundException: _system._database._views._sql_95_result_46_js (in EnvironmentClassLoader[web-app:production/webapp/default/imart])
:
(以下省略)
--------------------------------

【条件】
由于intra-mart Accel Platform 2014 Spring的问题,导致发生此错误。
※从intra-mart Accel Platform 2013 Winter及以前版本更新为intra-mart Accel Platform 2014 Spring时将发生。

【原因】
在2014 Spring之前的阶段中进行了数据库操作的情况下,输入内容将保留为历史记录。
保留的历史记录储存在Permanent中,以嵌入了类定义等的形式被保留。(Serialized)
因此,原来的js文件更改时(类定义有更改时),将复原失败且无法读取。

【规避方法】
通过删除运行环境的系统Storage中的以下文件,现象将不发生。
storage/system/treasure/box/darticles/dsystem.database

※因为上述文件是储存数据库操作(SQL)的执行历史记录的文件,删除后,所有的执行历史记录将被清空。


-- 适用对象 -------------------------------------------------------
iAP/Accel Platform/2014 Spring(Granada)
-----------------------------------------------------------------------

FAQID:407
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持