我正在尝试在 Windows 8.1 上的 Websphere Liberty 服务器上部署适用于 iOS 的 worklight 应用程序中心。但是当我尝试通过 appcenter 控制台添加 IBMAppCenter.ipa 时,服务器日志中出现以下异常。
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline. {prepstmnt 1563792952 INSERT INTO APPLICATION_STORAGE (CONTENT, AP_FK) VALUES (?, ?) [params=(InputStream) java.io.ByteArrayInputStream@5987916, (null) null]} [code=1118, state=42000]
这是重现我的问题的场景:
- 通过 mysql 社区安装程序安装 mysql 5.6.2
- 安装 Websphere Liberty 应用服务器 v8.5.5
- 安装 Worklight Server v6.2
- 通过 XCode 生成 IBMAppCenter.ipa
- 登录到 appcenterconsole 并尝试添加应用程序
我尝试按照 hjpotter92 对“Mysql Row size too large”的更改限制提出的建议为表 APPLICATION_STORAGE 启用压缩,但没有任何运气。任何帮助将非常感激。
编辑
这是导致问题的 APPLICATION_STORAGE 表的定义:
CREATE TABLE APPLICATION_STORAGE (ID INTEGER NOT NULL AUTO_INCREMENT, CONTENT LONGBLOB, AP_FK INTEGER, PRIMARY KEY (ID)) ENGINE = innodb;