跨數據庫解決方案CowNewSQL發佈新版本

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/ 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章