Skip to main content

部署发布相关问题

1. 安装构件无响应?

现象

使用开发系统的安装构件功能,安装二次开发资源构件后,出现一直停留在如下图页面:

img

问题原因

该资源构件依赖了其他资源构件,下载其他资源构件卡顿造成。

解决方案

方案1:

手动安装,步骤如下:

  1. 打开cmd
  2. 输入命令:cd /d 开发系统目录/Template
  3. 输入命令:npm run v3:install 开发系统目录/ V3DevDownload/资源构件名称.jar
  4. 输入命令:npm run v3:start
  5. 查看nodejs服务是否能启动成功,如果不能,根据异常信息在本文档中查找对应解决方案。

方案2:

手动安装,步骤如下:

  1. 打开cmd
  2. 输入命令:cd /d 开发系统目录/Template
  3. 输入命令:npm run v3:install 资源构件编号
  4. 根据控制台指引,完成安装。
  5. 输入命令:npm run v3:start
  6. 查看nodejs服务是否能启动成功,如果不能,根据异常信息在本文档中查找对应解决方案。

2. 部署构件:构件依赖安装失败?

现象

部署构件时,出现异常提示,如下图:

img

打开开发系统目录 /NodeJsLog/LogFile.log 文件,出现以下异常:

img

问题原因

此情况一般开发系统安装资源构件后,平台调用 nodejs 的 npm install 命令安装 nodejs 插件时,删除了其他 nodejs 插件导致。

解决方案

  1. 打开cmd

  2. 输入命令:cd d:开发系统目录\Template

  3. 输入命令:npm install

重新安装nodejs插件

3. 构件部署无响应?

部署进度到 5% 后,一直卡住,无响应。

img

问题原因

自定义窗体 nodejs 环境打包出错,未捕捉到异常导致。

解决方案

  1. 取消构件部署。如无法取消,可以去任务管理器里结束进程 node.exe
  2. 打开cmd
  3. 输入命令:cd /d 开发系统目录/Template
  4. 输入命令:npm run v3:package 业务构件目录/dev nopreview

查看命令控制台输出,根据异常信息在本文档中查找对应解决方案。

注:请将异常信息反馈给平台,方便平台捕捉各种异常情况,进行对应处理。

建议

因开发人员使用编写代码方式开发自定义窗体,可能出现各种异常场景平台无法捕捉到,建议将平台未捕捉到的异常场景反馈给平台,共同完善自定义窗体开发模式。

4. Cannot find module 'webpack'?

部署构件时,出现异常提示,如下图:

img

打开开发系统目录 /NodeJsLog/LogFile.log 文件,出现以下异常:

img

问题原因

此情况一般开发系统安装资源构件后,平台调用 nodejs 的 npm install 命令安装 nodejs 插件时,删除了其他 nodejs 插件导致。

解决方案

  1. 打开 cmd
  2. 输入命令:cd /d 开发系统目录 /Template
  3. 输入命令:npm install

重新安装nodejs插件。

5. 部署构件时,SVN冲突怎么办?

img

解决方案

用文本编辑器打开报错的文件,删除冲突代码就可以了。

img

例如:找到提示信息里的这个窗体文件component.methods,处理一下里面的冲突,在第1行,位置7。是在正确的窗体文件中,多了第一行,删除即可。

img

6. 部署报错:表字段supply_controller_material_flag长度不能大于30?

部署报错:表字段supply_controller_material_flag长度不能大于30

解决方案:

oracle数据库的规定,字段名字的长度不能超过30,您这个字段名称,太长了。

7. 无网络时,如何部署构件到服务器?

开发系统:

  1. 选择「构件」右键,部署到本地。

    img

  2. 会生成一个 zip 部署文件。

    img

部署:

把 zip 部署文件拷贝到服务器,在服务器上浏览器访问 http://IP:port/test/mockPublish.html。

选择文件,提交即可。

img

8. 部署的时候,提示:数据库的事务日志已满?

问题描述:部署的时候,提示:数据库的事务日志已满

img

解决方案:

  1. 打开企业管理器,右键要压缩的数据库,选择 “任务-收缩-文件” 。

    img

  2. 收缩操作,选择 “将文件收缩到xxMB” ,这里会给出一个允许收缩到的最小MB数,直接输入这个数,确定就可以了。

    img

9. 部署时报错:Data truncation?

原因:

  1. 数据库表里,已有数据。
  2. 平台里字段长度,比表里字段长度小。
  3. 部署时,会把平台里新的字段长度,在表里重新生成。
  4. 当把表原来数据导回时,数据长度超过了字段长度。

解决方案:

  1. 你自己查一下平台里表字段长度,和数据库里的字段长度,是否一致。
  2. 如果表数据没用,直接删除掉表的数据再部署也行。

10. 部署构件时提示无法连接到远程服务器?

问题描述:

img

解决方案:

  1. 部署服务没有启动。
  2. 无法连接服务地址,可以检查是否ping通。
  3. 防火墙拦截。
  4. ......

11. 构件部署到服务器时提示构件内部版本太低?

问题描述:

构件部署到本地正常,部署到服务器是提示构件内部版本太低。怎么解决?

img

解决方案:

V平台分 “开发系统” 和 “执行系统” 2部分组成。

  • 开发系统:安装在本地,在开发期使用,用于配置构件。
  • 执行系统:安装在服务器,启动服务,用于生产环境。开发系统配置完成的构件发布到执行系统,即可运行,可以理解成web服务。

当2个系统的版本不匹配的时候,部署就会出现此问题。

很好理解,例如,高版本构件因为需要加多了一个参数,但是低版本里就没有,那么部署的时候,肯定就会出问题。

注:高版本的开发系统,可以打开低版本开发系统配置的构件,低版本的开发系统,不可以打开高版本开发系统配置的构件,即向下兼容。

建议:做项目的时候,一定要保留项目正式环境执行系统对应的开发系统在本地,做过几个项目,就保留几个开发系统,万无一失。

12. 部署构件时,发现没权限怎么办?

问题描述:

零代码开发V平台部署构件时,发现没权限怎么办?

img

原因:

这是因为在控制台中,开启了 “是否验证开发系统的发布权限” 。

解决方案:

  1. 登录配置中心,设置路径:配置中心 → 系统高级配置 → 系统维护 → 配置管理

  2. 设置 “com.toone.v3.platform-10cache” 的参数:

    sCheckPublishPermission(是否验证开发平台的发布权限) 项设置 false ,保存重启服务。

  • false :不验证,所有账号能发布;
  • true :验证,只有用启动执行系统的账号登录的开发平台才能发布。

img

13. 部署构件或网页中F12有报错:Request Entity Too Large?

问题描述:

零代码开发V平台部署构件或网页中F12有报错:Request Entity Too Large 。

img

此服务通过 nginx 转发,请求大小受限,需修改 nginx 配置。

nginx 默认是1M,需要增大的话,在 nginx.conf 中 http{} 增加一句:lient_max_body_size 100M ;

重启 nginx 即可。

img

14. 部署构件报错,提示部署标识为「XXX」的表失败?

问题描述:

部署构件报错,提示部署标识为「XXX」的表失败,该编码「XXX」已经存为另一个标识「XXX」,请修改表编码或表标识再部署?

原因:

  1. 在开发系统删除掉某张表后,新建或复制粘贴了一个同编码的表。
  2. 在开发系统手动修改过表的表标识。

解决方案:

按照提示,手动修改表标识或表编码后重新部署。

img

15. V2.x版本,请在开发平台配置启动组件?

问题描述:

零代码开发V2.x版本,请在开发平台配置启动组件?

img

解决方案:

  1. 在开发系统里,找到登录窗体,然后右键设置为启动窗体。

    img

  2. 部署:系统选项

    img

16. 如何调用无返回值的存储过程?

零代码开发V平台只能执行无返回值的存储过程。

  1. 存储过程命名要求,加前缀:VSQLPROC_,例如 VSQLPROC_test。
  2. 新建一个查询,里面写 call VSQLPROC_test(:abc)。
  3. 使用服务端方法,规则【执行无返回值的查询】。

17. 如何调用有返回值的存储过程?

零代码开发V平台如何调用有返回值的存储过程:

  1. 在开发系统建立表和字段,例如:构件编码 gj1 ,表名 table1 ,保存部署。

  2. 存储过程的结果集,保存到表 table1 里。

  3. 登录配置中心,设置路径:配置中心 → 系统高级配置 → 系统维护 → 配置管理

  4. 设置 “com.toone.v3.platform-10cache” 的参数:

    NoCacheTables(不需要做查询缓存的表,不区分大小写,构件.表名) 项用户值里填写 gj1.table1 ,保存。

img

这样,对于表 gj1.table1 就不进行查询缓存,永远直接查表数据。