【发布时间】:2014-08-11 14:46:48
【问题描述】:
我正在尝试在 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 在Change limit for "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;
【问题讨论】:
-
对于 android 我可以毫无问题地部署 appcenter 应用程序。
-
@M Khalid Junaid 问题确实类似,我在我的问题中也引用了stackoverflow票。但是上下文不同; Worklight 是数据库方案的所有者,我在安装 Worklight 应用程序中心时不需要更改它。顺便说一句,我尝试了提出的解决方案,但这没有用。
-
Hans,仅供参考 - Worklight 不拥有 MySQL,也不会为您安装它。你安装它,如果它的默认设置不符合你的需要,你需要配置它。
-
大声笑,我只是假设它会按照知识中心的描述工作。我的需求并不特别,我只想安装 appcenter 并让它与 iPad 上的 hello world 应用程序一起工作。如果要让这个非常简单的基本 POC 正常工作需要某种自定义配置,则应在 IBM 知识中心中指出。如果我得到它的工作,我会发布答案,谢谢你的努力。
标签: mysql ibm-mobilefirst worklight-appcenter