浏览 2447 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2013-07-16
今天下载了 jsqlparser,打算用在简表中,不曾想不持中文,运行以下代码,出现如下错误: 复制内容到剪贴板 代码: public static void main(String[] args) { try { Statement stat = new CCJSqlParserManager().parse(new StringReader("select 年份,月份,sum(金额) from 订单查询 group by 年份,月份 order by 年份,月份")); System.out.println(); } catch (JSQLParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Caused by: net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 9. Encountered: "\u5e74" (24180), after : "" at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1328) at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5244) at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_140(CCJSqlParser.java:4531) at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_107(CCJSqlParser.java:4568) at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_65(CCJSqlParser.java:4045) at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_35(CCJSqlParser.java:4145) at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_5(CCJSqlParser.java:4591) at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_5(CCJSqlParser.java:3059) at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:562) at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:554) at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:110) at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38) at jatools.designer.data.DatasetPreviewer.main(DatasetPreviewer.java:231) 网上查了一圈,不得要领,后来查看JSqlParserCC.jj文件,发现id只支持以a-z,A-Z字符开始的串,为此,加上相应的unicode字符即可以了,以下粗体部分是加上去的部分,这样重新javacc一下,就可以了 如下所示 TOKEN: { < S_IDENTIFIER: ( <LETTER> )+ ( <DIGIT> | <LETTER> |<SPECIAL_CHARS>)* > | < #LETTER: ["a"-"z", "A"-"Z", "\u0024", "\u0041"-"\u005a", "\u005f", "\u0061"-"\u007a", "\u00c0"-"\u00d6", "\u00d8"-"\u00f6", "\u00f8"-"\u00ff", "\u0100"-"\u1fff", "\u3040"-"\u318f", "\u3300"-"\u337f", "\u3400"-"\u3d2d", "\u4e00"-"\u9fff", "\uf900"-"\ufaff"] > 编辑 引用 使用道具 评分 回复 删除 屏蔽帖子 TOP IP admin 管理员 发短消息加为好友当前离线 2#大中小 发表于 2010-12-9 17:02 只看该作者 这个是经过楼上方法,处理过的 jsqlparser-0.6.2。欢迎下载! http://bbs.jatools.com/attachment.php?aid=348&k=6587ec5e3d3f29c8644aa37370a19f04&t=1373962914 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |