基于 Eclipse 的 Apache Derby 工具![]() |
![]() | 級別: 初級 Susan Cline (clines@us.ibm.com), Cloudscape 社區開(kāi)發(fā)人員, IBM 2005 年 11 月 14 日 使用 Eclipse 技術(shù)連接和瀏覽 Apache Derby 數據庫,并探索在 Eclipse 中使用 Derby 或者使用一種獨立的工具,即 IBM® Cloudscape™ Workbench 的各種方法。其中的 IBM Cloudscape Workbench 不需要 Eclipse IDE,它是一個(gè) Eclipse Rich Client Platform (RCP) 應用程序。 Apache Derby 是一個(gè) Apache DB 項目,它是一種 Java 類(lèi)庫形式的輕量級、可嵌入的關(guān)系引擎。它的本機接口是帶 Java 關(guān)系擴展的 Java Database Connectivity (JDBC)。Derby 非常容易部署和運行,在它上面也很容易進(jìn)行開(kāi)發(fā)。 在 2004 年 8 月,IBM 將 Cloudscape 10.0 關(guān)系數據庫產(chǎn)品的一份拷貝捐獻給了 Apache Software Foundation (ASF),該產(chǎn)品因此有了一個(gè)新的名稱(chēng):“Derby”。從此以后,IBM Cloudscape 成為開(kāi)放源碼 Apache Derby 數據庫的商業(yè)版本,并且是完全免費提供的。該 IBM 軟件包括未作任何修改的 Apache Derby 代碼,另外還添加了 Apache Derby 軟件中所沒(méi)有的一些特性,例如用戶(hù)友好的安裝程序,包括有助于剛入門(mén)的 Java 開(kāi)發(fā)人員提高水平的 Java Runtime Environment (JRE) 和一些翻譯好的手冊。您也可以購買(mǎi) IBM Cloudscape 的技術(shù)支持。Cloudscape 現有的最新版本是 Version 10.1。 Eclipse 平臺在 Java 開(kāi)發(fā)社區已變得非常流行,這是理所當然的。這個(gè)平臺以插件的形式提供了豐富的功能,并且易于學(xué)習和使用。 用于 Apache Derby 數據庫的基于 Eclipse 的工具 本文面向的讀者是希望與 Derby 數據庫交互的 Eclipse 用戶(hù)。不過(guò),其他 Derby 用戶(hù)也將發(fā)現,本文對于了解在 Eclipse 中使用 Derby 或者使用獨立的 Rich Client Platform (RCP) 應用程序 Cloudscape Workbench 的各種方法有一定的幫助。 還有其他一些工具選項,例如 SQuirreLSQL 客戶(hù)機,但是它們超出了本文的范圍。
通過(guò)將 Derby 插件添加到 Eclipse 中,開(kāi)發(fā)環(huán)境得到了增強,現在在 Eclipse 中可以將 Derby jar 文件添加到一個(gè)項目的類(lèi)路徑中,可以啟動(dòng)和停止 Derby 網(wǎng)絡(luò )服務(wù)器,可以運行 ij(SQL 命令行工具),還可以使用 sysinfo 輸出 Derby 系統信息。 大?。?/strong> 3 MB 易用性: Eclipse 的新用戶(hù)需要花些時(shí)間來(lái)熟悉 IDE。對于 Derby 插件,Derby 用戶(hù)可以很快地上手。而 Derby 的新用戶(hù)將發(fā)現,學(xué)習 ij 對于在 Eclipse 中使用該工具會(huì )有所幫助。 面向的用戶(hù): 本解決方案對于主要興趣在于獨立的數據庫應用程序的開(kāi)發(fā)的所有 Eclipse 和 Derby 用戶(hù)來(lái)說(shuō)非常理想。而 Eclipse 或 Derby 的新用戶(hù)也可以從這個(gè)解決方案中受益;不過(guò),學(xué)習曲線(xiàn)會(huì )更陡峭一些。 適合的場(chǎng)景:
是否包括特定于工具的幫助: 是。 是否捆綁 Derby: 捆綁。 是否可以從該工具內啟動(dòng) Network Server: 可以。 打包形式: 一組 Eclipse 插件。Derby 插件要求 Eclipse 3.1。 下載地點(diǎn): 可以從 Apache Derby, 10.1.1.0 的發(fā)布頁(yè)面下載 derby_core_plugin_10.1.1.zip 和 derby_ui_plugin_1.1.0.zip 文件(參見(jiàn) 參考資料)。 Eclipse Web Tools Platform (WTP) 項目允許 Eclipse 用戶(hù)開(kāi)發(fā) J2EE Web 應用程序。這個(gè)平臺中包括多個(gè)編輯器、圖形編輯器、特性(nature)、構建器、一個(gè) Web Service 向導、一些數據庫訪(fǎng)問(wèn)和查詢(xún)工具和其他一些組件。 大?。?/strong> 45 MB 易用性: Eclipse 的學(xué)習過(guò)程有些曲折,尤其是當您想研究所有工具的功能時(shí)更是如此。不過(guò),WTP 與 Cloudscape Workbench (CWB) 有很多相同的視圖,因為 CWB 構建在 WTP 之上,所以,學(xué)習了兩者中的任何一個(gè),就可以理解另外一個(gè)。 面向的用戶(hù): 可能使用一種或多種數據庫(包括 Derby)的 Web 應用程序開(kāi)發(fā)人員。WTP 允許同時(shí)存在多個(gè)到不同數據庫系統的連接。 適合的場(chǎng)景:
是否包括特定于 Derby 的幫助: 有一些。 是否捆綁 Derby: 否。 是否可以從該工具中啟動(dòng) Network Server: 不可以。 打包形式: 一組 Eclipse 插件。 下載地點(diǎn): WTP 站點(diǎn)就有很多 WTP 插件可供下載,包括所有相關(guān)的插件,另外還可以從那里下載一個(gè)單獨的包含 Eclipse 和所有必需插件的 zip 文件(參見(jiàn) 參考資料)。 IBM Cloudscape Workbench、RCP 或 Eclipse 插件 Cloudscape Workbench (CWB) 是作為一個(gè) Eclipse Rich Client Platform (RCP) 應用程序、一個(gè)獨立的工具或一組 Eclipse 插件的形式提供的。它是一種小型的工具,易于使用和學(xué)習。CWB 構建在 WTP 的一組插件的子集之上,并從這些插件獲得大部分基本的功能。Workbench 中增加的功能包括增強的 Derby 和 DB2 連接、從 Derby 到 DB2 的遷移和特定于工具的幫助。CWB 新連接向導中的數據庫管理器列表中添加了 Derby , Version 10.1 支持。這個(gè)附加的 DB2 功能包括對 DB2 JDBC Universal 驅動(dòng)程序、改進(jìn)的系統表信息和 DB2 DDL 生成的支持。 大?。?/strong> 獨立的版本占 25 MB,插件占 3 MB。 易用性: 易于使用,學(xué)習曲線(xiàn)短。之前無(wú)需 Eclipse 方面的知識,不過(guò)如果有這方面的知識將會(huì )有所幫助。 面向的用戶(hù): Derby 數據庫臨時(shí)用戶(hù) —— 僅提供數據庫功能。 適合的場(chǎng)景: 連接和瀏覽 Derby 或 DB2 數據庫,創(chuàng )建模式對象,運行和創(chuàng )建 SQL 腳本,裝載和卸載表,以及從 Derby 到 DB2 的遷移。 是否包括特定于工具的幫助: 是。 是否捆綁 Derby: 不捆綁。 是否可以從該工具中啟動(dòng) Network Server: 不可以。 打包形式: 打包成一個(gè)獨立的工具,或打包成一組 Eclipse 插件。這些插件要求 Eclipse 3.1 和 0.7 WTP 插件。 下載地點(diǎn): IBM developerWorks(參見(jiàn) 參考資料)。 一起使用 WTP、Cloudscape Workbench 和 Derby 插件 由于所有這些組件都被打包成 Eclipse 插件,所以它們都可以共存于 Eclipse 3.1 之上。每一組插件都為 Eclipse IDE 帶來(lái)一些使用 Derby 數據庫方面的功能。 大?。?/strong> WTP 占 45 MB,Workbench 插件占 3 MB,Derby 插件占 3 MB,一共是 51 MB。 易用性: 只要用戶(hù)熟悉 Eclipse,幾乎任何安裝在這個(gè)平臺上的附加插件都容易學(xué)習和理解。 面向的用戶(hù): 需要 Cloudscape Workbench 插件的 Derby 和 DB2 連接支持以及 Derby 插件的啟動(dòng)和停止 Derby Network Server 能力的 Web 應用程序開(kāi)發(fā)人員。通過(guò)添加 Derby 插件,可以增加 WTP 或 Workbench 插件的菜單項中沒(méi)有提供的三大功能:
適合的場(chǎng)景: 需要用 Derby 數據庫存儲數據的 Web 應用程序。由于 WTP 允許啟動(dòng)、停止 Web 應用程序和將整個(gè) Web 應用程序部署到應用程序服務(wù)器,所以它提供了非常容易的 Web 應用程序開(kāi)發(fā)。通過(guò) WTP 的數據工具,可以更容易地操縱 Derby 數據庫。而且,如果 Web 應用程序開(kāi)發(fā)人員想要從 Eclipse 中啟動(dòng) Derby 網(wǎng)絡(luò )服務(wù)器,那么目前來(lái)說(shuō)使用 Derby 插件是惟一的方法。 是否包括工具和特定于 Derby 的幫助: 包括。 是否捆綁 Derby: 捆綁。 是否可以從該工具中啟動(dòng) Network Server: 可以。 打包形式: 所有這些組件都是 Eclipse 插件,要求 Eclipse 3.1 或更高版本。 下載地點(diǎn): 見(jiàn)前面對各個(gè)工具的描述,其中包括每個(gè)組件的下載信息。 對于目前的 Eclipse 用戶(hù)而言,前面對各工具的描述有效地說(shuō)明了通過(guò)使用插件所取得的附加功能。圖 1 展示了 Cloudscape Workbench 插件如何構建在 WTP 的一組插件之上。CWB 并沒(méi)有使用所有 WTP 插件,而是使用其中一些數據工具插件,并通過(guò)提供附加的插件來(lái)增加功能。 而且,Derby 插件與 WTP 插件或 Cloudscape Workbench 沒(méi)有任何關(guān)系,它提供了不同的功能。 圖 1. 工具的功能和之間的關(guān)系 ![]() 表 1 總結了每個(gè)組件提供的功能,以及與 Derby 數據庫工具的關(guān)系。 表 1. 每個(gè)組件的功能和與 Derby 數據庫工具的關(guān)系
本節將展示使用這些工具連接到 Derby 數據庫和在 Derby 數據庫上發(fā)出查詢(xún)的一些例子。 圖 2 展示了 Cloudscape Workbench 獨立版本的 New Connection 向導。在使用 WTP 插件時(shí),New Connection 向導也非常相似。不過(guò),數據庫管理器區域也列出了其他數據庫供應商。 圖 2. Cloudscape Workbench 和 WTP 插件的 New Connection 向導 ![]() WTP 和 Cloudscape workbench 中提供了 SQL 編輯器。SQL 編輯器中提供了 SQL 模板,如 圖 3 所示,當然也可以輸入和運行臨時(shí)構造的查詢(xún)。 圖 3. 使用 Cloudscape Workbench 或 WTP 插件發(fā)出 SQL 查詢(xún) ![]() 下圖顯示了在 Eclipse 的控制臺中使用 ij 時(shí)用于連接到 Cloudscape 數據庫的 JDBC 連接 URL。連接 URL 可以由用戶(hù)在 ij 中直接輸入,也可以使用一個(gè)腳本來(lái)提供。 圖 4. 在 Eclipse 控制臺中使用 Derby 插件和 ij 連接到 Derby 數據庫 ![]() 圖 5 中用文本編輯器創(chuàng )建了一個(gè) SQL 腳本,并且包括多個(gè) SQL 語(yǔ)句。要使用 Derby 插件運行該腳本,可以選擇上下文菜單項 Apache Derby > Run SQL Script using 'ij'。 圖 5. 使用 Derby 插件和 ij 運行 SQL 腳本 ![]() Cloudscape Workbench 的獨立版本是一個(gè)小型的工具,它包含 WTP 插件提供的數據庫工具的部分功能。不管是 CWB 的獨立版本,還是 CWB 插件,都提供了附加的 Derby 和 DB2 連接選項,Derby 到 DB2 的遷移功能,以及特定于工具的幫助。 Cloudscape Workbench 的獨立版本是操縱 Derby 數據庫的理想工具。 在 Eclipse 環(huán)境中使用 WTP 的一組插件特別適合于需要訪(fǎng)問(wèn)和操縱數據庫的 Web 應用程序的開(kāi)發(fā)。WTP 提供了現有的大部分數據工具,如果不需要 Derby 到 DB2 的遷移功能的話(huà),它應該足以操縱 Derby 數據庫。 在 Eclipse 中通過(guò)命令行使用 ij,啟動(dòng)和停止 Network Server,運行 sysinfo 命令,以及將 Derby jar 文件添加到一個(gè)項目中,這些都是 Derby 插件為 Eclipse 帶來(lái)的功能。Derby 插件可以與 WTP 或 Workbench 插件一起使用,甚至可以三者并用。 學(xué)習
獲得產(chǎn)品和技術(shù)
討論
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
聯(lián)系客服