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;支持子查询、Join、Union等高级的SQL特性;支持日期(包括取当前日期、从日期中提取任意部分、计算日期差异、日期前后推算等)、数学(包括取绝对值、取PI值、四舍五入、对数计算、随机数等)、字符串(包括取子字符串、取字符串长度、字符串截断、大小写转换等)、基本数据处理(包括数字字符串互转、日期转字符串、非空判断等)等函数。
下载地址:http://www.cownew.com/download/