在线表单开发的数据库导入表单-生成表单报错-找不到表
本帖最后由 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) });
}
异常信息: [本地] --表名:equipment_repair_doc
全局处理异常捕获:
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) 把数据库改成不区分大小写 admin 发表于 2018-8-10 17:21 static/image/common/back.gif
把数据库改成不区分大小写
可以通过修改数据库配置达到,不过从程序的健壮性的角度考虑,建议基于框架层考虑大小写问题。 我们是兼容多数据库,特别是oracle,所以默认是大写。其他数据库请放开大小写限制。
有个性化的需求可以自行改造
页:
[1]