此问题在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
更新为intra-mart Accel Platform 2014 Spring后,如果以系统管理员来操作数据库,将发生“HTTP 500 :服务器内部发生错误。”