【问题标题】:.wlapp file deployment error in WorklightWorklight 中的 .wlapp 文件部署错误
【发布时间】:2013-05-24 12:00:57
【问题描述】:

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

我按照@Worklight Guide IBM Guide for setting up 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) 值 (?, ?, ?, ?) [params=(String) jqmMultipageSite1-android-1.0,(输入流) java.io.ByteArrayInputStream@5083c762,(字符串) 4acdb5054a0bd4ec908ad282bb95d183bbbdd217,(长)1369395093111]} [代码=1105,状态=HY000]

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

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

【问题讨论】:

    标签: mysql ibm-mobilefirst


    【解决方案1】:

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

    您链接到的 MySQL 指南似乎遗漏了一些(重要)步骤。
    请尝试以下说明:

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

    部署现在应该通过了。

    【讨论】:

    • 谢谢伊达尔。虽然没有成功。我将 max_allowed_pa​​cket 更改为 500 ,然后更改为 1024 。上面提到的两个错误仍然存​​在。我重新启动了 MYSQL [mysqladmin.exe --user=user --password=password shutdown + Start Windows MYSQL Service]
    • 更多事情: 1. 我检查了 MYSQL Windows 服务,它指向我在上面进行更改的 ini 文件的位置。 C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56 2. 我也为 Worklight 安装了最新的修复包。
    • 我能够克服“max_allowed_pa​​cket”错误。现在第二个错误:无法部署应用程序“xx.wlapp”。 :数据截断:不正确的日期时间值:第 1 行的列“LAST_UPDATE_TIME”的“”{prepstmnt 24265963 INSERT INTO GADGETS (DISP_IN_GALLERY, LAST_UPDATE_TIME, NAME) VALUES (?, ?, ?) [params=(int) 1, (Timestamp) 2013-05-25 17:21:49.806, (String) xx]} [code=0, state=22001] 即将用于所有 .wlapp 上传。从错误看来,INSERT 语句试图将数据类型 TIMESTAMP 放入类型为 **datetime**[小工具表中的 LAST_UPDATE_TIME] 的字段中。
    • .ini 文件是在 Windows 7 中的“程序数据”和“程序文件”中创建的。我更改了不正确的 .ini 文件。这个命令有帮助。 ** 显示像“max_allowed_pa​​cket”这样的变量; ** 我从已安装的 Worklight 服务器 {create-worklight-mysql.sql} 创建 TABLE GADGETS (ID BIGINT NOT NULL AUTO_INCREMENT, DISP_IN_GALLERY BIT, ** LAST_UPDATE_TIME DATETIME NOT NULL**, NAME VARCHAR(255) NOT NULL,主键 (ID),唯一 UNQ_ (NAME)) ENGINE = innodb;
    • MYSQL 5.5.31 版本解决了所有 SQL 问题。干杯!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多