如鹏网 大学生计算机学习社区

CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  363 随笔 :: 2 文章 :: 808 评论 :: 0 Trackbacks

CowNewSQL发布新版本了,这个版本的推出标志着CowNewSQL能正式应用于开发实际了。
本版更新列表:
1、增加了对Create Table、Drop Table、Create Index和DropIndex的支持。

2、修改了N多Bug,使用从各方收集到的近百条各种复杂的SQL语句全面测试通过!!!

3、完善开发文档,语法规则、SQL例子、函数列表、使用方法一应俱全。

4、支持JDK1.4或更高版本。

下载地址:http://www.cownew.com/download/

CowNewSQL简介:

       由于种种原因,各个数据库系统的SQL语句语法以及支持的函数都不尽相同,这造成了如下两个问题:(1)使得系统在多个不同数据库之间移植变得非常困难,特别是需要维护多个数据库版本的时候;(2)开发人员必须对各种数据库的语法差异非常了解,这加大了开发难度。

       虽然Hibernate通过HQL等技术部分的解决了跨数据库移植的问题,但是在对性能要求比较高的场合还是需要直接使用SQL语句访问数据库的,在这种情况下如何编写能被不同数据库支持的SQL语句就成了。目前解决这种差异的最常用的技术就是SQL语句翻译,使用SQL翻译器可以将SQL语句翻译为在不同的数据库中支持的特定平台的SQL语句。CowNewSQL就是这样一款产品。

       CowNewSQL简化了跨数据库产品的开发,比如取当前日期在MSSQL中是“SELECT GETDATE()”,在MYSQL中是“SELECT NOW()”,在Oracle中是“SELECT SYSDATE FROM DUAL”,使用CowNewSQL以后您只要使用“SELECT NOW()”,那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句,而且CowNewSQL的兼容性也非常好,比如“SELECT NOW()”写成“SELECT GETDATE()”同样可以被正确的翻译;取数据库前10条记录,在MSSQL中是“Select top 10 from T_1”、在MYSQL中是“SELECT  LIMIT 0, 10 ”、在Oracle中是“SELECT  FROM DUAL WHERE ROWNUM <= 10”,使用CowNewSQL以后您只要使用“Select top 10 from T_1”,那么CowNewSQL就会为您自动将其翻译为对应数据库平台支持的SQL语句。

    CowNewSQL还通过变通的方式对目标数据库不直接支持的语法进行了支持。比如MYSQL是不支持“select * from t1 where fid in(select fid from t2 limit 0,5)”这样在子查询中的Limit语句的,CowNewSQL通过将子查询进行二次结果集包装的方式巧妙的对其进行了支持,“delete from T_SaleInvoice where FId in(select top 5 FParentId from T_SaleInvoiceDetails)”通过CowNewSQL的翻译以后就成了“DELETE FROM T_SaleInvoice WHERE FId IN (select * from(SELECT FParentId FROM T_SaleInvoiceDetails LIMIT 0, 5 ) t_temp_sub)”这样被MYSQL支持的语法了;MYSQL中没有提供计算两个日期之间月份差异的函数,CowNewSQL通过组合其他日期函数的方式模拟了这个函数,这样使用者只要使用MONTHS_BETWEEN函数即可了,无需关心内部的差异。

CowNewSQL支持如下几种类型的SQL语句:CreateTable/DropTable/CreateIndex/DropIndex/Select/Insert/Delete/Update;支持子查询、JoinUnion等高级的SQL特性;支持日期(包括取当前日期、从日期中提取任意部分、计算日期差异、日期前后推算等)、数学(包括取绝对值、取PI值、四舍五入、对数计算、随机数等)、字符串(包括取子字符串、取字符串长度、字符串截断、大小写转换等)、基本数据处理(包括数字字符串互转、日期转字符串、非空判断等)等函数。

下载地址:http://www.cownew.com/download/

posted on 2007-09-21 19:39 CowNew开源团队 阅读(2307) 评论(11)  编辑  收藏

评论

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-09-21 20:14 久城
顶个先!~  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-09-22 00:05 千里冰封
我也来顶一下  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本[未登录] 2007-09-22 17:00 坏男孩
团队的产品用于实际开发是件值得庆祝的事情!!!  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-09-24 15:04 啊乐
顶一下,跟着老大走~`
沿途好风景 ~`  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-09-25 00:24 q
不错, 请问什么时候可以支持存储过程create procedure 语句?  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-09-25 23:51 CowNew开源团队
@q
各个数据库对存储过程的支持的差异还是蛮大的,而且团队里熟悉存储过程的朋友不是很多。不过我们会向这方面努力的,也希望您能提供相关的指导和帮助,以帮助我们开发出更好的国产开源产品。:)  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-10-19 13:11 kitsionlee
支持老大,看了一下老大的书,感觉是比其他书籍另有滋味,希望老大再提供这方面的书籍,最好详细说说CowNew的开发过程,至于无关CowNew的一些简单例子,就不要也行,我一般也直接看源代码先,不明白的地方才翻书,还有书里也有一些好的思想,比如说不要凡是都照搬Spring的写法,我是刚大概了解一点点点Spring,可我也跟老大有同感.老大再提供多一些学习的资料.好让CS的学生学习,起码对开源也有好处啦  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2007-10-19 21:06 CowNew开源团队
@kitsionlee
多谢你的支持,:)。不过那本书出版社运作的不好,很失望,呵呵。  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2008-01-05 21:21 回复
啥时候支持postgresql  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2008-01-10 09:10 杨中科
@回复
目前的主要目标是优化CowNewSQL的翻译引擎,对postgresql、firebird等数据库的支持将会在适当的时候加入版本开发计划。我们也需要对postgresql、firebird等数据库语法熟悉的朋友加入一起完善CowNewSQL。  回复  更多评论
  

# re: 跨数据库解决方案CowNewSQL发布新版本 2009-07-24 12:43 rjsubd
有没有考虑对hql的支持?  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: