`
pan_java
  • 浏览: 280051 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sql 解析 工具(sql parse)

    博客分类:
  • java
阅读更多
项目地址:  http://jsqlparser.sourceforge.net

可以获取SQL语法的各个部分,组装SQL。但不支持hive语法.
具体的使用方法可以参考网站example,还有它的测试用例。
分享到:
评论
23 楼 yechw 2010-12-29  
不支持oracle里的ROW_NUMBER()函数。
22 楼 sam_kee 2010-12-02  
LZ,什么意思呢?怎么看不懂?
21 楼 jiny_tianxia 2010-12-01  
,pl/Sql Developer这个工具也很好用的
20 楼 userya 2010-11-30  
中文貌似有点问题.

insert into log_table_test(LOG_TABLE_TEST_ID,g2,C_NUMBER)values('a','中文',2)


Caused by: net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 70.  Encountered: "\u4e2d" (20013), after : "\'"
	at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1326)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5290)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_88(CCJSqlParser.java:4454)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_52(CCJSqlParser.java:4499)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_86(CCJSqlParser.java:4721)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_51(CCJSqlParser.java:4739)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_48(CCJSqlParser.java:4804)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_20(CCJSqlParser.java:4799)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_20(CCJSqlParser.java:3188)
	at net.sf.jsqlparser.parser.CCJSqlParser.SimpleExpression(CCJSqlParser.java:2035)
	at net.sf.jsqlparser.parser.CCJSqlParser.Insert(CCJSqlParser.java:372)
	at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:116)
	at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
	... 11 more


set UNICODE_INPUT to true ?



javacc -UNICODE_INPUT:false -JAVA_UNICODE_ESCAPE:true -JDK_VERSION:1.4 JSqlParserCC.jj
19 楼 cn-done 2010-11-27  
<div class="quote_title">depravedangel 写道</div>
<div class="quote_div">我的工具箱中也有这样一个小工具,它是用来做自己实现的一套ORM框架的辅助工具</div>
<p><br>麻烦共享你的工具箱<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p> </p>
18 楼 kjj 2010-11-26  
这种东西用现成的语法解析工具做都可以,比如antlr,javacc等,主要是考察对sql语法和语言文法的掌握程度!!
17 楼 longwenbin2008 2010-11-26  
不错的东东,现在的项目正派上用场,先研究,谢谢
16 楼 pker02 2010-11-26  
没有例子,还是不会用啊。
15 楼 pan_java 2010-11-26  
pker02 写道
编译的时候报错了
D:\work\jsqlparser\jsqlparser\build.xml:53: JavaCC home must be a valid directory.

不知道是什么意思,还望赐教

直接用里面的JAR包
14 楼 pker02 2010-11-26  
编译的时候报错了
D:\work\jsqlparser\jsqlparser\build.xml:53: JavaCC home must be a valid directory.

不知道是什么意思,还望赐教
13 楼 SeanHe 2010-11-26  
在实现shardbatis http://www.iteye.com/topic/752243的时候我也是用它的,总体来说还不错,在我使用的过程中遇到一些小bug,性能方面也有可以提升的地方。可能它的代码写的比较早字符串拼接的代码可以再做优化
12 楼 depravedangel 2010-11-26  
我的工具箱中也有这样一个小工具,它是用来做自己实现的一套ORM框架的辅助工具
11 楼 pan_java 2010-11-26  
houzidexinsheng 写道
不知道能否分析SQL的各个部分:select\from\where\group by\order by\union,我就要这几个部分的内容?

完全没有问题
10 楼 houzidexinsheng 2010-11-26  
不知道能否分析SQL的各个部分:select\from\where\group by\order by\union,我就要这几个部分的内容?
9 楼 pker02 2010-11-26  
其实正好现在有一个需要验证SQL的要求,不过最好是JS的,可惜找了好久都没有找到,这个正好能用上,只是还不知道咋弄,先研究一下。
多谢了
8 楼 jackerxff 2010-11-26  
应该是用来将系统由关系数据库转移到非关系型数据库,将业务的SQL转化为其他操作
7 楼 pan_java 2010-11-26  
chenhua_1984 写道
这玩意是用来解析SQL的,比如在SQL执行前或执行后,你可以利用这个东西快速的分析出执行这个SQL是否合法,我们正由这个需求,只可惜它只是0.6版本,性能等各方面都还不知道!

提取SQL的各不同的部分,动态组装SQL,验证SQL。。。
6 楼 chenhua_1984 2010-11-26  
这玩意是用来解析SQL的,比如在SQL执行前或执行后,你可以利用这个东西快速的分析出执行这个SQL是否合法,我们正由这个需求,只可惜它只是0.6版本,性能等各方面都还不知道!
5 楼 CshBBrain 2010-11-26  
大概是想做数据库逆向工程的工具吧,瞎猜下
4 楼 cremains 2010-11-26  
请问这个有什么用呢?

相关推荐

Global site tag (gtag.js) - Google Analytics