|
本帖最后由 andyyuan 于 2018-8-10 17:21 编辑
jeecg 3.7.8版本的 在线表单开发的数据库导入表单-生成表单报错-找不到表。 我看框架里面做了大写转换,但是mysql的数据字典里面的 表名称,是小写, 所以找不到表,,, 可能是MySQL版本的差异引起的,框架可以把字段和变量都做下转换。
MySQL server 版本:5.7.23
框架代码段:JeecgReadTable.java
public List<Columnt> readOriginalTableColumn(String tableName)
throws Exception
{
List columntList = new ArrayList();
try {
Class.forName(CodeResourceUtil.DIVER_NAME);
this.b = DriverManager.getConnection(CodeResourceUtil.URL, CodeResourceUtil.USERNAME, CodeResourceUtil.PASSWORD);
this.c = this.b.createStatement(1005, 1007);
if (CodeResourceUtil.DATABASE_TYPE.equals("mysql")) {
this.sql = MessageFormat.format("select column_name,data_type,column_comment,numeric_precision,numeric_scale,character_maximum_length,is_nullable nullable from information_schema.columns where table_name = {0} and table_schema = {1}", new Object[] { a.f(tableName.toUpperCase()), a.f(CodeResourceUtil.DATABASE_NAME) });
}
异常信息:[2018-08-10 16:23:14] [INFO] [org.jeecgframework.web.cgform.controller.trans.CgformTransController:134] [本地] [online数据库导入表] --表名:equipment_repair_doc
[2018-08-10 16:23:14] [ERROR] [org.jeecgframework.core.common.exception.GlobalExceptionResolver:86] 全局处理异常捕获:
java.lang.Exception: 该表不存在或者表中没有字段
at org.jeecgframework.codegenerate.database.JeecgReadTable.readOriginalTableColumn(JeecgReadTable.java:333)
at org.jeecgframework.web.cgform.controller.trans.CgformTransController.transEditor(CgformTransController.java:135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) |
|