如鵬網(wǎng) 大學(xué)生計(jì)算機(jī)學(xué)習(xí)社區(qū)

          CowNew開(kāi)源團(tuán)隊(duì)

          http://www.cownew.com 郵件請(qǐng)聯(lián)系 about521 at 163.com

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            363 隨筆 :: 2 文章 :: 808 評(píng)論 :: 0 Trackbacks

          CowNewSQL發(fā)布新版本了,這個(gè)版本的推出標(biāo)志著CowNewSQL能正式應(yīng)用于開(kāi)發(fā)實(shí)際了。
          本版更新列表:
          1、增加了對(duì)Create Table、Drop Table、Create Index和DropIndex的支持。

          2、修改了N多Bug,使用從各方收集到的近百條各種復(fù)雜的SQL語(yǔ)句全面測(cè)試通過(guò)!!!

          3、完善開(kāi)發(fā)文檔,語(yǔ)法規(guī)則、SQL例子、函數(shù)列表、使用方法一應(yīng)俱全。

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

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

          CowNewSQL簡(jiǎn)介:

                 由于種種原因,各個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的SQL語(yǔ)句語(yǔ)法以及支持的函數(shù)都不盡相同,這造成了如下兩個(gè)問(wèn)題:(1)使得系統(tǒng)在多個(gè)不同數(shù)據(jù)庫(kù)之間移植變得非常困難,特別是需要維護(hù)多個(gè)數(shù)據(jù)庫(kù)版本的時(shí)候;(2)開(kāi)發(fā)人員必須對(duì)各種數(shù)據(jù)庫(kù)的語(yǔ)法差異非常了解,這加大了開(kāi)發(fā)難度。

                 雖然Hibernate通過(guò)HQL等技術(shù)部分的解決了跨數(shù)據(jù)庫(kù)移植的問(wèn)題,但是在對(duì)性能要求比較高的場(chǎng)合還是需要直接使用SQL語(yǔ)句訪問(wèn)數(shù)據(jù)庫(kù)的,在這種情況下如何編寫(xiě)能被不同數(shù)據(jù)庫(kù)支持的SQL語(yǔ)句就成了。目前解決這種差異的最常用的技術(shù)就是SQL語(yǔ)句翻譯,使用SQL翻譯器可以將SQL語(yǔ)句翻譯為在不同的數(shù)據(jù)庫(kù)中支持的特定平臺(tái)的SQL語(yǔ)句。CowNewSQL就是這樣一款產(chǎn)品。

                 CowNewSQL簡(jiǎn)化了跨數(shù)據(jù)庫(kù)產(chǎn)品的開(kāi)發(fā),比如取當(dāng)前日期在MSSQL中是“SELECT GETDATE()”,在MYSQL中是“SELECT NOW()”,在Oracle中是“SELECT SYSDATE FROM DUAL”,使用CowNewSQL以后您只要使用“SELECT NOW()”,那么CowNewSQL就會(huì)為您自動(dòng)將其翻譯為對(duì)應(yīng)數(shù)據(jù)庫(kù)平臺(tái)支持的SQL語(yǔ)句,而且CowNewSQL的兼容性也非常好,比如“SELECT NOW()”寫(xiě)成“SELECT GETDATE()”同樣可以被正確的翻譯;取數(shù)據(jù)庫(kù)前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就會(huì)為您自動(dòng)將其翻譯為對(duì)應(yīng)數(shù)據(jù)庫(kù)平臺(tái)支持的SQL語(yǔ)句。

              CowNewSQL還通過(guò)變通的方式對(duì)目標(biāo)數(shù)據(jù)庫(kù)不直接支持的語(yǔ)法進(jìn)行了支持。比如MYSQL是不支持“select * from t1 where fid in(select fid from t2 limit 0,5)”這樣在子查詢中的Limit語(yǔ)句的,CowNewSQL通過(guò)將子查詢進(jìn)行二次結(jié)果集包裝的方式巧妙的對(duì)其進(jìn)行了支持,“delete from T_SaleInvoice where FId in(select top 5 FParentId from T_SaleInvoiceDetails)”通過(guò)CowNewSQL的翻譯以后就成了“DELETE FROM T_SaleInvoice WHERE FId IN (select * from(SELECT FParentId FROM T_SaleInvoiceDetails LIMIT 0, 5 ) t_temp_sub)”這樣被MYSQL支持的語(yǔ)法了;MYSQL中沒(méi)有提供計(jì)算兩個(gè)日期之間月份差異的函數(shù),CowNewSQL通過(guò)組合其他日期函數(shù)的方式模擬了這個(gè)函數(shù),這樣使用者只要使用MONTHS_BETWEEN函數(shù)即可了,無(wú)需關(guān)心內(nèi)部的差異。

          CowNewSQL支持如下幾種類(lèi)型的SQL語(yǔ)句:CreateTable/DropTable/CreateIndex/DropIndex/Select/Insert/Delete/Update;支持子查詢、JoinUnion等高級(jí)的SQL特性;支持日期(包括取當(dāng)前日期、從日期中提取任意部分、計(jì)算日期差異、日期前后推算等)、數(shù)學(xué)(包括取絕對(duì)值、取PI值、四舍五入、對(duì)數(shù)計(jì)算、隨機(jī)數(shù)等)、字符串(包括取子字符串、取字符串長(zhǎng)度、字符串截?cái)唷⒋笮?xiě)轉(zhuǎn)換等)、基本數(shù)據(jù)處理(包括數(shù)字字符串互轉(zhuǎn)、日期轉(zhuǎn)字符串、非空判斷等)等函數(shù)。

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

          posted on 2007-09-21 19:39 CowNew開(kāi)源團(tuán)隊(duì) 閱讀(2324) 評(píng)論(11)  編輯  收藏

          評(píng)論

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-09-21 20:14 久城
          頂個(gè)先!~  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-09-22 00:05 千里冰封
          我也來(lái)頂一下  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本[未登錄](méi) 2007-09-22 17:00 壞男孩
          團(tuán)隊(duì)的產(chǎn)品用于實(shí)際開(kāi)發(fā)是件值得慶祝的事情!!!  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-09-24 15:04 啊樂(lè)
          頂一下,跟著老大走~`
          沿途好風(fēng)景 ~`  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-09-25 00:24 q
          不錯(cuò), 請(qǐng)問(wèn)什么時(shí)候可以支持存儲(chǔ)過(guò)程create procedure 語(yǔ)句?  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-09-25 23:51 CowNew開(kāi)源團(tuán)隊(duì)
          @q
          各個(gè)數(shù)據(jù)庫(kù)對(duì)存儲(chǔ)過(guò)程的支持的差異還是蠻大的,而且團(tuán)隊(duì)里熟悉存儲(chǔ)過(guò)程的朋友不是很多。不過(guò)我們會(huì)向這方面努力的,也希望您能提供相關(guān)的指導(dǎo)和幫助,以幫助我們開(kāi)發(fā)出更好的國(guó)產(chǎn)開(kāi)源產(chǎn)品。:)  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-10-19 13:11 kitsionlee
          支持老大,看了一下老大的書(shū),感覺(jué)是比其他書(shū)籍另有滋味,希望老大再提供這方面的書(shū)籍,最好詳細(xì)說(shuō)說(shuō)CowNew的開(kāi)發(fā)過(guò)程,至于無(wú)關(guān)CowNew的一些簡(jiǎn)單例子,就不要也行,我一般也直接看源代碼先,不明白的地方才翻書(shū),還有書(shū)里也有一些好的思想,比如說(shuō)不要凡是都照搬Spring的寫(xiě)法,我是剛大概了解一點(diǎn)點(diǎn)點(diǎn)Spring,可我也跟老大有同感.老大再提供多一些學(xué)習(xí)的資料.好讓CS的學(xué)生學(xué)習(xí),起碼對(duì)開(kāi)源也有好處啦  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2007-10-19 21:06 CowNew開(kāi)源團(tuán)隊(duì)
          @kitsionlee
          多謝你的支持,:)。不過(guò)那本書(shū)出版社運(yùn)作的不好,很失望,呵呵。  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2008-01-05 21:21 回復(fù)
          啥時(shí)候支持postgresql  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2008-01-10 09:10 楊中科
          @回復(fù)
          目前的主要目標(biāo)是優(yōu)化CowNewSQL的翻譯引擎,對(duì)postgresql、firebird等數(shù)據(jù)庫(kù)的支持將會(huì)在適當(dāng)?shù)臅r(shí)候加入版本開(kāi)發(fā)計(jì)劃。我們也需要對(duì)postgresql、firebird等數(shù)據(jù)庫(kù)語(yǔ)法熟悉的朋友加入一起完善CowNewSQL。  回復(fù)  更多評(píng)論
            

          # re: 跨數(shù)據(jù)庫(kù)解決方案CowNewSQL發(fā)布新版本 2009-07-24 12:43 rjsubd
          有沒(méi)有考慮對(duì)hql的支持?  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 武川县| 蓬安县| 阿图什市| 泰和县| 包头市| 喀什市| 信宜市| 离岛区| 岱山县| 息烽县| 定南县| 南召县| 贡嘎县| 宜兰县| 阜平县| 清徐县| 汉阴县| 屯门区| 洛浦县| 玛多县| 都江堰市| 犍为县| 光泽县| 嵊州市| 吉隆县| 株洲市| 红安县| 河间市| 马尔康县| 泉州市| 乌什县| 新乡县| 米泉市| 罗山县| 墨脱县| 秦安县| 海宁市| 尤溪县| 随州市| 色达县| 中山市|