1

我正在将一个 Worklight 应用程序从我在 Eclise 中的开发环境迁移到 Tomcat 7 上的测试环境,其中 MySQL 作为我的 Worklight 数据库。

我按照@Worklight GuideIBM Guide 中的说明设置 MySql for Worklight

通过 Worklight Console 部署时,控制台部署适配器没有问题,但在部署 .wlapp 文件时,出现 DB 错误:

[部署大小为 4.5MB 的 .wlapp 时出错]

未能部署应用程序“XXXXXXXX.wlapp”。:通过 mysql_send_long_data() 设置的准备语句的参数长于 'max_allowed_pa​​cket' 字节 {prepstmnt 940490894 INSERT INTO APP_SYNC_DATA (appDeployableKey, deployable, deployableHash, lastPersistentPropertyChange) VALUES (?, ?, ?, ?) [params=(String) jqmMultipageSite1-android-1.0, (InputStream) java.io.ByteArrayInputStream@5083c762, (String) 4acdb5054a0bd4ec908ad282bb95d183bbbdd217, (long) 1369395093111]} [code=1105, state=HY000]

[为大小为 1.5 MB 的 iPhone 部署 wlapp 时出错]

未能部署应用程序“xxxxxxxxx.wlapp”。:数据截断:不正确的日期时间值:第 1 行的列 'LAST_UPDATE_TIME' 的'' {prepstmnt 362762411 INSERT INTO GADGETS (DISP_IN_GALLERY, LAST_UPDATE_TIME, NAME) VALUES (?, ?, ?) [params=(int) 1, (Timestamp) 2013-05-24 17:10:06.322,(字符串)jqmMultipageSite1]} [代码=0,状态=22001

4

1 回答 1

1

错误非常简单。.wlapp 文件的部署失败,因为max_allowed_packetMySQL 中的属性值太低(默认为 1MB)。

您链接到的 MySQL 指南似乎错过了一些(重要的)步骤。
试试这些说明:

  1. 找到my.ini属于您的 MySQL 安装的文件
  2. 在其中,找到该部分[mysqld]
  3. 在部分名称下方,粘贴以下内容:max_allowed_packet=500M
  4. 重新启动 MySQL 服务
  5. 重新部署 .wlapp 文件

部署现在应该通过了。

于 2013-05-24T12:32:16.463 回答