Jfinal生成Oracle的model,表名乱码导致报错 ORA-00933: SQL 命令未正确结束

微信截图_20181101114208.png微信截图_20181101114043.png微信截图_20181101114146.png

Oracle10g,生成model,我的表明明明是ccdc_xxxx,结果jfinal不知道怎么提取出binxxx这种乱码,导致报错。

请问这个是什么原因,又该如何解决呢?

评论区

JFinal

2018-11-01 13:04

升级一下 Oracle 驱动试试

zzh1234567

2018-11-01 15:29

@JFinal 这公司的数据库,不能随便升级的。。。

JFinal

2018-11-01 15:31

@zzh1234567 数据库完全不动, 仅将你项目中的 oracle 的那个驱动 jar 包升级,这个与数据库升级完全无关

zzh1234567

2018-11-01 15:58

我找到原因了:从oracle10g开始删除数据库表的时候不是真正删除,而是放到了recyclebin中,这个过程类似windows删除文件放到了回收站。
删除表后系统会自动的给这些表重命名,就是你看到的【BIN$】开头的表。
解决办法:执行清空回收站的sql purge recyclebin;

JFinal

2018-11-01 17:02

@zzh1234567 除了这个办法以外,还可能过继承 MetaBuilder 并覆盖其中的 isSkipTable 方法,通过判断 tableName 前缀或者通过正则表达式,跳过一些不需要处理的类

热门反馈

扫码入社